美文网首页
算法第一关

算法第一关

作者: 人字拖拖不下来 | 来源:发表于2019-02-26 20:51 被阅读0次

    1.两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
    示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9

    所以返回 [0, 1]Leetcode题目链接:https://leetcode-cn.com/problems/two-sum/

    
    import random,os
    
    os.chdir(r'D:\0working\python_picture\41_算法')
    
    target_number = random.randint(0,999)
    
    list_1 = list(range(1,1000))
    
    try:
    
        list(random.shuffle(list_1))
    
    except:
    
        pass
    
    def search_double_number(list_1,target_number):
    
        print('开始在列表中查找相加等于',target_number,'的两个数字')
    
        list_1_copy = list_1[::]
    
    #    print(len(list_1_copy))
    
        for number_1 in list_1:
    
            number_1_index = list_1_copy.index(number_1)
    
            del list_1[list_1.index(number_1)]
    
    #        print(len(list_1))
    
            for number_2 in list_1:
    
                if number_1 + number_2 == target_number:
    
                    print(number_1,number_2)
    
                    print([number_1_index,list_1_copy.index(number_2)])
    
                    return([number_1_index,list_1_copy.index(number_2)])
    
        return('没有相加等于',target_number,'的两个数字')
    
    search_double_number(list_1,target_number)
    
    

    自己的这个想法太笨重了
    可以for循环之后用目标数字减去循环数字 看得到的结果在不在列表中

    相关文章

      网友评论

          本文标题:算法第一关

          本文链接:https://www.haomeiwen.com/subject/pfgzyqtx.html