s4553711
7/17/2017 - 3:09 PM

532.cpp

class Solution {
public:
    int findPairs(vector<int>& nums, int k) {
        if (nums.size() == 0 || k < 0) return 0;
        sort(nums.begin(), nums.end());
        unordered_set<int> set1;
        unordered_set<int> sameset;
        int result = 0;
        for(int i = 0; i < nums.size(); i++) {
            if (k != 0) {
                if (!set1.count(nums[i]) && set1.count(nums[i] - k))
                    result++;
                set1.insert(nums[i]);
            } else {
                if (!sameset.count(nums[i]) && set1.count(nums[i])) {
                    result++;
                    sameset.insert(nums[i]);
                }
                set1.insert(nums[i]);                
            }
        }
        return result;
    }
};