LeetCode #219

Contains Duplicate II

1개의 풀이 · C++

문제 원문 보기 ↗

SOLUTION INFO

C++ · main.cpp

main.cpp
class Solution {
public:
    bool containsNearbyDuplicate(vector<int>& nums, int k) {
        vector<int> P = nums;
        sort(P.begin(), P.end());
        P.erase(unique(P.begin(), P.end()), P.end());
        vector<int> index(P.size(), INT_MIN / 2);
        int N = (int)nums.size();
        bool flag=false;
        for(int i = 0; i < N; ++i) {
            int idx = lower_bound(P.begin(), P.end(), nums[i]) - P.begin();
            if(i - index[idx] <= k) flag=true;
            index[idx] = i;
        }
        return flag;
    }
};

SOLUTION DESCRIPTION

풀이 설명

등록된 풀이 설명이 없습니다.