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 轉(zhuǎn)換成哈希表,這樣做可以是搜索為O(1), which is nice
對 nums 中每個數(shù)字進(jìn)行搜索
如果 num + diff 在 hashtable里面說明存在一個條件的數(shù)字存在 count+=1
...... ?num - diff ?........................ count+=1
內(nèi)存消耗:
O(n) + O(m)
時間消耗:
O(n)
代碼: 代碼存在一些處理edge case的: