LeetCode 532 数组中的k-diff数对[双指针] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 532 数组中的k-diff数对[双指针] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
用双指针的方法,一个指针i从0开始走,另一个指针j不断找i所在位置的对应k-diff,代码如下:
class Solution
public:
int findPairs(vector<int>& nums, int k)
int n = nums.size();
int ans = 0;
sort(nums.begin(), nums.end());
for(int i = 0, j = 0; i < n; i ++)
if(i == 0 || nums[i] != nums[i - 1])
while(j < n && (nums[j] - nums[i] < k || j <= i))
j ++;
if(j < n && nums[j] - nums[i] == k)
ans ++;
return ans;
;
以上是关于LeetCode 532 数组中的k-diff数对[双指针] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章
Python描述 LeetCode 532. 数组中的 k-diff 数对
LeetCode 532 数组中的k-diff数对[双指针] HERODING的LeetCode之路