1.兩數之和

出錯的地方


  • leetcode中不能在if語句中return,要在函數的結尾return
  • 本題要注意自身和自身相加以後等target的狀況,先找target-num[i],若是沒有再存num[i]

收穫


  • map、vector的使用

代碼


class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) 
    {
        map<int,int> mymap;
        vector<int> ans;
        
        if(nums.size() < 2)
        {
            ans.push_back(-1);
            ans.push_back(-1);
            return ans;
        }
        
        for(int i = 0;i<nums.size();i++)
        {
            if(mymap.count(target - nums[i]) == 1)
            {
                ans.push_back(i);
                ans.push_back(mymap[target - nums[i]]);
                break;
            }
            mymap[nums[i]] = i;
        }
        return ans;
    }
};
相關文章
相關標籤/搜索