Day7

[Day7]

1. Intersection of Two Arrays II

문제 링크: https://leetcode.com/problems/intersection-of-two-arrays-ii/

class Solution {
public:
    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
        sort(nums1.begin(), nums1.end());
        sort(nums2.begin(), nums2.end());
        int i=0;
        int j=0;
        vector <int> result;
        while(i<nums1.size() && j<nums2.size()){
            if(nums1[i]== nums2[j]){
                result.push_back(nums1[i]);
                i++;
                j++;
            }
            else if(nums1[i]>nums2[j]){
                j++;
            }
            else{
                i++;
            }
        }
        return result;
    }
};

2. Wiggle Sort II

문제 링크: https://leetcode.com/problems/wiggle-sort-ii/

class Solution {
public:
    void wiggleSort(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        int size = nums.size();
        int i = (size+1)/2-1;
        int j = size-1;
        vector <int> result;
        for(int k=0; k<=(size+1)/2-1; k++){
            result.push_back(nums[i]);
            result.push_back(nums[j]);
            j--;
            i--;
        }
        for(int i=0; i<size; i++){
            nums[i] = result[i];
        }
    }
};

3. Find All Numbers Disappeared in an Array

문제 링크: https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/

class Solution {
public:
    vector<int> findDisappearedNumbers(vector<int>& nums) {
        int size = nums.size();
        int temp[100000] = {0};
        vector<int> result;
        for(int i=0; i<nums.size(); i++){
            temp[nums[i]-1]++;
        }
        for(int i=0; i<nums.size(); i++){
            if(temp[i] == 0){
                result.push_back(i+1);
            }
        }
        return result;
    }
};