在数组中找出一对数字,让数字之和等于某个固定的数

2019-07-18  本文已影响0人  张俊凯
vector<int> twoSum(vector<int>&nums, int target) {
        vector<int> result;
        unordered_map<int, int> map;         
        for(int i=0; i<nums.size(); i++){
            map[nums[i]] = i;    
        }            
        
        for(int i=0; i<nums.size(); i++){     
            int rest = target - nums[i];      
            if(map.find(rest) != map.end()){
                int index = map[rest];  
                if(index == i)//有可能自身是目标的一半 排除掉
                   continue;
                if(index < i){
                   result = {index, i};
                }else{
                   result = {i, index};
                }
               return result;
            }//end for if
        }//end for loop
        
    }
上一篇 下一篇

猜你喜欢

热点阅读