码迷,mamicode.com
首页 > 编程语言 > 详细

python实现给定一个数和数组,求数组中两数之和为给定的数

时间:2019-02-19 00:39:14      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:python   tar   目标   return   range   重复   答案   dex   pytho   

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

代码实现:


def twoSum(self, nums, target):
nums_bak = nums.copy()
nums.sort()
i = 0
j = 0
for k in range(0, (len(nums) - 1)):
if nums[k] + nums[k + 1] >= target:
i = k
j = k + 1
break
while i >= 0 and j < len(nums):
if nums[i] + nums[j] < target:
j += 1
elif nums[i] + nums[j] > target:
i -= 1
else:
if nums[i] == nums[j]:
return [nums_bak.index(nums[i]), nums_bak.index(nums[j], i + 1)]
else:
return [nums_bak.index(nums[i]), nums_bak.index(nums[j])]

python实现给定一个数和数组,求数组中两数之和为给定的数

标签:python   tar   目标   return   range   重复   答案   dex   pytho   

原文地址:https://www.cnblogs.com/wgyang/p/10398723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!