532. K-diff Pairs in an Array

  • corner case, length less than 2 and negative k.
    class Solution {
    // O(n) O(n)
    public int findPairs(int[] nums, int k) {
    if (nums.length < 2 || k < 0) return 0;
    HashSet visited = new HashSet();
    HashSet pairs = new HashSet();
    for (int n : nums) {
    if (visited.contains(n+k)) {
    pairs.add(n+k < n ? n+k : n);
    }
    if (visited.contains(n-k)) {
    pairs.add(n-k < n ? n-k : n);
    }
    visited.add(n);
    }
    return pairs.size();
    }
    }
    view raw 532_0904.java hosted with ❤ by GitHub
  • variant of two sum: O(1) space