暴露了自己滑动窗口不太熟练的问题,双值有序不应该被卡住;
具体代码: 官方解法:class Solution {
public:
int findPairs(vector& nums, int k) {
sort(nums.begin(),nums.end());
int ret=0;
for(int i=0,j=0;i
if(i>0&&nums[i]==nums[i-1])
continue;
while(j<=i)
j++;
while(j
ret++;
}
}
return ret;
}
};
自己版本:
class Solution {
public:
int findPairs(vector& nums, int k) {
sort(nums.begin(),nums.end());
int ret=0;
int l=0,r=0;
while(r
if(r<=l||nums[r]-nums[l]
r++;
continue;
}
if(nums[r]-nums[l]==k){
ret++;
while(r+1k)
l++;
}
return ret;
}
};



