hashmap={} for ind,num in enumerate(nums): hashmap[num] = ind for i,num in enumerate(nums): j = hashmap.get(target - num) get函数根据键返回值 if j isnotNoneand i!=j: return [i,j]
1 2 3 4 5 6 7
seq = ['one', 'two', 'three'] # enumerate的使用 for i, element in enumerate(seq): # 第一个值是索引 第二 ... print(i, seq[i]) # 个是值 ... 0 one 1 two 2 three
1 2 3 4 5 6 7 8 9 10 11 12
class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int> record; for(int i = 0 ; i < nums.size() ; i ++){ int complement = target - nums[i]; if(record.find(complement) != record.end()){ int res[] = {i, record[complement]}; return vector<int>(res, res + 2);} record[nums[i]] = i;} } };