One - One Code All

Blog Content

整数数组元素和为目标值的下标

Python 算法 LeetCode   2021-02-02 09:37:37

最近在看《数学好的人是如何思考的》,找道算法题练练。


题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。


运行环境:mac  16G ,  2.2Gz 四核 intel core i7

# Q: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
def solution(nums, target):
"""
    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
    :param nums: 给定的整数数组;
    :param target: 给定的目标值;
    :return : 求的的元素在数组中下标
    """
    dict1 = {}
    list1 = []
    for i in range(0, len(nums)):
        num = target - nums[i]
        # 字典中查找的时间复杂度为O(1),因此总时间复杂度为O(n)
        if num not in dict1:
        dict1[nums[i]] = i
        else:
        list1.append([dict1[num], i])
    
    return list1

def main():
    nums = [1, 2, 3, 4, 5, 6, 7]
    target = 9
    print(solution(nums, target))
    
main()

运行结果:

[[3, 4], [2, 5], [1, 6]]

spend time:4.7e-05 s



上一篇:mac上配置visual studio code的python环境
下一篇:mac安装ta-lib

The minute you think of giving up, think of the reason why you held on so long.