Post

leetcode(리트코드)3월02일 challenge645-Set Mismatch

leetcode March 02일 - Set Mismatch 문제입니다.

1. 문제

https://leetcode.com/problems/set-mismatch/


2. Input , Output


3. 분류 및 난이도

eazy 난이도입니다.
3월 02일자 챌린지 문제입니다.


4. 문제 해석

  • 0 ~ n의 만큼의 배열이 들어와야합니다. 한 숫자가 누락되었는데 그 숫자를 찾아야합니다.

5. code

c++

c++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Solution {
public:
    vector<int> findErrorNums(vector<int>& nums) {
        
        bool* countnum = new bool[nums.size()+1];
        memset(countnum,false,sizeof(bool) * (nums.size()+1));
        vector<int> result;
        for(size_t i=0;i<nums.size();++i)
        {
            if(countnum[nums[i]])
                result.push_back(nums[i]);
            countnum[nums[i]]=true;
        }
        bool check =false;
        for(size_t i=1;i<nums.size()+1;++i)
        {
            if(!countnum[i])
            {
                result.push_back(i);
                break;
            }
        }
        
        return result;
        
    }
};

python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution:
    def findErrorNums(self, nums: List[int]) -> List[int]:
        countnum = [0] * (len(nums)+1)
        result = []
        for i in range(len(nums)):
            if(countnum[nums[i]]):
                result.append(nums[i])
            countnum[nums[i]]=1
        check = 0
        for i in range(1,len(nums)+1):
            if countnum[i] == 0:
                result.append(i)
                break
        return result
        

6. 결과 및 후기, 개선점

95%

This post is licensed under CC BY 4.0 by the author.