Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
example:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
code:
class Solution:
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
for i,num in enumerate(nums):
rest = target - num
reset_list = nums[i+1:]
if rest in reset_list:
return [i, reset_list.index(rest)+i+1]
else:
continue
tips:
1.
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
enumerate(sequence, [start=0])
sequence – 一个序列、迭代器或其他支持迭代对象。
start – 下标起始位置。
seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
print i, element
output:
0 one
1 two
2 three
2.
注意return的第二个值reset_list.index(rest)+i+1,要加上i+1