学习编程和学习语言一样,都是要了解完所有语法后,不断练习才能掌握和熟练运用。今天起开始刷题,分享并记下每一题。
题目:
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 sameelement twice.
Example:
Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].
Solution: 使用语言python
class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ result = [] num_set = {} for num_index, num in enumerate(nums): if(target - num) in num_set: return [num_set[target-num],num_index] num_set[num] = num_index
for num_index, num in enumerate(nums) #枚举出所有list内容index和value
if(target - num) in num_set #当条件满足时,返回结果
return [num_set[target-num],num_index] #返回
num_set[num] = num_index #条件不满足时开始保存以value为index的num_set集合
该题思维想法角度不一样,更加有效率。