1. 투썸 [리트코드][C++]

모든 제안을 환영합니다. 당신이 그것을 좋아한다면 upvote하십시오. 고맙습니다.


Leetcode Problem Link: 1. Two Sum


무차별 대입 솔루션:

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        //Brute Force Solution TimeO(N^2) & Auxiliary Space O(1)
        int length=nums.size();
        for(int i=0;i<length;i++){
            for(int j=i+1;j<length;j++){
               if(nums[i]+nums[j]==target){
                   return {i,j};
               }
           }
       } 
        return {}; 
    }
};



효율적인 솔루션:

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target){      
        //Efficient Solution TimeO(N) & Auxiliary Space O(N)
        int length=nums.size();
        unordered_map<int,int> map;
        for(auto i=0;i<length;i++){
            if(map.find(target-nums[i])!=map.end()){
                return {i,map[target-nums[i]]};
        }
        map[nums[i]]=i;
        }
        return {};
    }
};



모든 제안을 환영합니다. 당신이 그것을 좋아한다면 upvote하십시오. 고맙습니다.

좋은 웹페이지 즐겨찾기