您的位置:首页 > 编程语言 > Python开发

leetcode之Two Sum

2015-10-16 16:22 459 查看
Two Sum的意思是求出2个和为指定值的2个数的index + 1。因为python是从0开始的,所以最后要加上1.鉴于原题已经假设有且仅有一个解,因此就没有考虑特殊情况啦。需要注意的是如果是2个想等的数的和为target,需要使用index的时候注意一下,包括后面的index都会跟着改变。代码如下:
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
list1 = []
list2 = sorted(nums)

for i in range(len(nums)):
if target - list2[i] in nums:
if list2[i] * 2 == target:
a = nums.index(list2[i])
list1.append(a + 1)
list1.append(nums[a + 1:].index(list2[i]) + 1 + a + 1)
else:
list1.append(nums.index(list2[i]) + 1)
list1.append(nums.index(target - list2[i]) + 1)
list1.sort()
return list1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python leetcode list Two Sum