include
class Solution {
public:
    /**
     *
     * @param n int整型
     * @param k int整型
     * @param card int整型vector<vector<>>
     * @return int整型
     */
    int solve(int n, int k, vector<vector<int> >& card) {
        int r = INT_MAX;
        sort(card.begin(), card.end(), [](vector<int>& a, vector<int>& b){return a[1]<b[1];});
        unordered_map<int, int> M;
        for(int i=0,j=0;j<n;j++){
            M[card[j][0]]++;
            while(i<j && M.size()==k){
                r = min(r, card[j][1]-card[i][1]);
                if(--M[card[i][0]] == 0)
                    M.erase(card[i][0]);
                i++;
            }
        }
        return r==INT_MAX?-1:r;
    }
};</int></int></int>

京公网安备 11010502036488号