532. K-diff Pairs in an Array
来源:互联网 发布:网络管理和信息安全 编辑:程序博客网 时间:2024/05/29 18:36
Given an array of integers and an integer k, you need to find the number of unique k-diff pairs in the array. Here a k-diff pair is defined as an integer pair (i, j), where i and j are both numbers in the array and their absolute difference is k.
Example 1:
Input: [3, 1, 4, 1, 5], k = 2Output: 2Explanation: 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 of unique pairs.
Example 2:
Input:[1, 2, 3, 4, 5], k = 1Output: 4Explanation: 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 = 0Output: 1Explanation: There is one 0-diff pair in the array, (1, 1).
Note:
- The pairs (i, j) and (j, i) count as the same pair.
- The length of the array won't exceed 10,000.
- All the integers in the given input belong to the range: [-1e7, 1e7].
翻译:简单的说,就是在给定的数组中寻找元素相减等于给定值k的元素组对数。要求相同的元素对只能用1次。
代码如下:
class Solution{public:int findPairs(vector<int>& nums,int k){if(nums.size() < 2)return 0;if(k< 0)return 0;sort(nums.begin(),nums.end());int left=0;int right=1;int ans=0;while(right<nums.size()){if(left==right)right++;int diff = nums[right]-nums[left];if(diff==k){ans++;num_right=nums[right];right+;while(nums[right]==num_right && right < nums.size())right++;}else if(diff<k){int num_right = nums[right];right++;while(nums[right]==num_right && right < nums.size())right++;}else{int num_left = nums[left];left++;while(nums[left]==num_left && left < right)left++;}}return ans;}};
阅读全文
0 0
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- 532. K-diff Pairs in an Array
- K-diff Pairs in an Array
- leetcode532~K-diff Pairs in an Array
- AJAX(五)--聊天室
- HTML学习之路-3 HTML标签
- leetcode.array--27. Remove Element
- Opposite Task
- DQL-数据查询
- 532. K-diff Pairs in an Array
- 后缀自动机 重复旋律 6(长度为K的旋律中出现次数最多的旋律的出现次数)
- 1091. Acute Stroke (30)
- Material 组件 list
- C#实现winform天气预报
- Android Gradle plugin版本和Gradle版本
- 【Android系列】View的绘制之layout过程
- LATEX 用bibtex引用文献
- C#判断时间是否处于某个时间段内(当天)