给定一个整数数组和一个整数目标值,在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。(找到一个就返回)

发布时间:2024年01月19日

#第一种方法#

#时间换取空间:两个循环求解#

def search(nums,target):
    for i in nums:
        start = nums.index(i) + 1
        for j in nums[start: ]:
            if i + j == target:
                
                result = [nums.index(i)]
                next_index = nums[start:].index(j) + start
                result.append(next_index)
                return result
if __name__ == '__main__':
    print(search([3,2,4],6))

#第二种方法#

#空间换取时间:引入字典快速求解#

def search(nums,target):
	resut_list = list()
	result_dict = {}
	result_dict[nums[0]] = 0
	for i in nums[1:]:
		key = target - i
		
		if key in result_dict.keys():
			resut_list.append(result_dict[key])
			resut_list.append(nums.index(i))
			
		else:
			result_dict[i] = nums.index(i)
	return resut_list
if __name__ == '__main__':
    print(search([3,2,4],6))

有兴趣的小伙伴也可以思考一下,如何返回数组里满足条件的所有值的组合。

文章来源:https://blog.csdn.net/LOLUN9/article/details/135708592
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。