sleepyotter
LeetCode/448.Find All Numbers Disappeared in an Array 본문
프로그래밍/알고리즘+코딩테스트
LeetCode/448.Find All Numbers Disappeared in an Array
sleepyotter. 2022. 2. 16. 11:58배열을 하나 선언하고 등장한 녀석은 지우고 등장하지 않은 녀석만 태워서 반환한다. unordered_set을 이용한 풀이도 있는데, 해시 충돌이 일어날 만큼의 원소개수는 아닌거 같은데 이상하게 3*O(N)인 내 코드가 2배는 빠르다. unordered_set은 2*O(N)
class Solution {
public:
vector<int> findDisappearedNumbers(vector<int>& nums) {
int* nums2 = new int[nums.size()];
vector<int> ret;
for(int i=0; i< nums.size(); ++i)
{
nums2[i] = i+1;
}
for(int i=0; i<nums.size(); ++i)
{
if(nums2[nums[i]-1]!=0)
{
nums2[nums[i]-1]=0;
}
}
for(int i=0; i<nums.size(); ++i)
{
if(nums2[i]!=0)
ret.push_back(nums2[i]);
}
delete[] nums2;
return ret;
}
};
'프로그래밍 > 알고리즘+코딩테스트' 카테고리의 다른 글
LeetCode/617. Merge Two Binary Trees (0) | 2022.02.16 |
---|---|
LeetCode/543. Diameter of Binary Tree (0) | 2022.02.16 |
LeetCode/283.Move Zeros (0) | 2022.02.15 |
LeetCode/234.Palindrome Linked List (0) | 2022.02.15 |
LeetCode/226.Invert Binary Tree (0) | 2022.02.15 |