Leetcode 01

Leetcode 01_第1张图片

//class Solution {
//public:   
	//vector twoSum(vector& nums, int target) {
		unordered_map<int,int> m;        			
		for (int i = 0; i < nums.size(); i++){            
			int curr_value = nums[i];            
			if (m.find(curr_value) != m.end()){                
				return {m[curr_value], i};            
			}            
			m[target - curr_value] = i;        
		}        
		return {};    
	}
};

1.unordered_map
nums 2 3 8 6
9-nums 7 6 1 3
然后 m[7]=0 m[6]=1 m[1]=2 m[3]=3
如果后续发现nums[i]=6就可以迅速访问到之前出现的3的下标

2.find
寻找nums[i]这个数在m里面有没有定义过

你可能感兴趣的:(Leetcode,leetcode)