leetcode

[leetcode] [single number]

DanGEE 2021. 12. 24. 21:29

검색에 대한 아주기본예제

SOL1. hashmap 사용 

결과 : 성능은 SOSO 

#include <unordered_map>
class Solution {
public:
    int singleNumber(vector<int>& nums) {
        std::unordered_map<int,int> hash;
        int length = nums.size();
        int sum=0;
        for(int i=0; i< length; i++){
            if(!hash[nums[i]]){
                sum+=nums[i];
                hash[nums[i]]=1;
            }
            else  sum-=nums[i];        
        }
        return sum;
    }
};

 

 

SOL2. XOR 연산자 사용

결과 : 젤 빠르진 않는데 더좋은 방법이 있나? 

int singleNumber(vector<int>& nums) {
        int length = nums.size();
        int sum=0;
        for(int i=0; i< length; i++){
            sum ^= nums[i];
        }
        return sum;
    }