leetcode之Two Sum

来源:互联网 发布:javascript 函数名 编辑:程序博客网 时间:2024/05/17 01:00
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


0 0
原创粉丝点击