Example 1:
Input:[3, 1, 4, 1, 5], k = 2
Output:2
Explanation:There are two 2-diff pairs in the array, (1, 3) and (3, 5).
Although we have two 1s in the input, we should only return the number ofuniquepairs.
Example 2:
Input:[1, 2, 3, 4, 5], k = 1
Output:4
Explanation:There are four 1-diff pairs in the array, (1, 2), (2, 3), (3, 4) and (4, 5).
Example 3:
Input:[1, 3, 1, 5, 4], k = 0
Output:1
Explanation:There is one 0-diff pair in the array, (1, 1).
解法:
hashtable
首先将 list 转换成哈希表,这样做可以是搜索为O(1), which is nice
对 nums 中每个数字进行搜索
如果 num + diff 在 hashtable里面说明存在一个条件的数字存在 count+=1
...... num - diff ........................ count+=1
内存消耗:
O(n) + O(m)
时间消耗:
O(n)
代码: 代码存在一些处理edge case的:

网友评论