# 532. K-diff Pairs in an Array

{% embed url="<https://leetcode.com/problems/k-diff-pairs-in-an-array/>" %}

结果要unique，那就用set来记录。brute-force的方法是直接遍历组合，但这题可以利用一下unique的要求，把遍历变成搜索，对每个元素，搜索它右边的sublist里面有没有比它大k的元素，有的话就算一个解，不需要关心有多少个 。同样，比它小k的也是。

```python
class Solution:
    def findPairs(self, nums: List[int], k: int) -> int:
        res = set()
        if k < 0: return 0
        for i in range(len(nums)):
            if nums[i]+k in nums[i+1:]:
                res.add((nums[i], nums[i]+k))
            if nums[i]+k != nums[i]-k and nums[i]-k in nums[i+1:]:
                res.add((nums[i]-k, nums[i]))
        return len(res)
```
