로직은 단순하다
map에 파라미터로 넘어오는 nums의 개수를 파악하고
이후 새로운 벡터를 초기화한 후 오름차순 정렬
using IntPair = pair<int, int>;
class Solution
{
public:
int singleNumber(vector<int>& nums)
{
map<int, int> m;
for (auto& item : nums)
m[item]++;
vector<IntPair> v(m.begin(), m.end());
sort(v.begin(), v.end(), [&](const IntPair& left, const IntPair& right) -> bool
{
return left.second < right.second;
});
return m[0];
}
};
xor 방식
int singleNumber(vector<int>& nums)
{
int ans=0;
for(auto& item : nums)
ans^=item;
return ans;
}
'코딩테스트 > LeetCode' 카테고리의 다른 글
[LeetCode] 45. Jump Game II (0) | 2024.06.17 |
---|---|
[LeetCode] 55. Jump Game (0) | 2024.06.17 |
[LeetCode] 1 - Two Sum (0) | 2024.04.03 |
[LeetCode] 6 - Zigzag Conversion (0) | 2024.04.03 |
[LeetCode] Sqrt(x) (0) | 2024.03.25 |