LeetCode 532. 数组中的K-diff数对
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 532. 数组中的K-diff数对
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
給定一個整數數組和一個整數 k, 你需要在數組里找到不同的 k-diff 數對。
這里將 k-diff 數對定義為一個整數對 (i, j), 其中 i 和 j 都是數組中的數字,且兩數之差的絕對值是 k.
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/k-diff-pairs-in-an-array
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
class Solution { public:int findPairs(vector<int>& nums, int k) {if(k < 0)return 0;unordered_map<int,int> m;for(int num:nums)m[num]++;int sum = 0;if(k != 0){for(auto p : m)if(m.count(p.first+k))//因為i,j | j,i 算1組,只用+k,不用檢查-ksum++;}else//k==0for(auto it : m)if(it.second >= 2)//數字自己>=2個,可以產生1組sum++;return sum;} };32 ms 12.1 MB
總結
以上是生活随笔為你收集整理的LeetCode 532. 数组中的K-diff数对的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 779. 第K个语法符
- 下一篇: LeetCode 845. 数组中的最长