532. K-diff Pairs in an Array
来源:互联网 发布:软件技术服务保障计划 编辑:程序博客网 时间:2024/05/29 21:28
题目:
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].
本题思路如下,分为如下几个步骤:
step1:先对数组进行排序
step2:查找当前数与k的差值是否在数组中存在(当前位置的数字除外)
step3:剔除重复项
代码:
class Solution {public: int findPairs(vector<int>& nums, int k) { sort(nums.begin(),nums.end()); int count = 0; vector<pair<int,int>> res; if(k<0) return 0; for(int i =nums.size()-1;i>0;i--) { if(find(nums.begin(),nums.end(),nums[i]-k)!=nums.end()&&find(nums.begin(),nums.end(),nums[i]-k)!=nums.begin()+i) { res.push_back(make_pair(nums[i],nums[i]-k)); nums.erase(nums.begin()+i); count++; } } for(int j=1;j<res.size();j++) { if(res[j].first==res[j-1].first) count--; } return count; }};
阅读全文
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
- Ext常用知识点积累--textfield,store,grid
- servlet面试知识梳理
- Servlet复习2之request和reponse基本使用
- Jmeter安装使用教程
- Selenium2+Python2.0自动化测试【9】 单选框
- 532. K-diff Pairs in an Array
- UI
- js控制文本框只能输入中文、英文、数字与指定特殊符号
- js修改zTree没有子项的节点图标为文件夹的方法
- QQlistview展示
- [乐意黎原创]PHP里由于数组编码导致json_encode输出为空白问题的解决方法
- Maven —— 一、准备工作(下载、安装、配置、基础使用)
- 提交表单不提交隐藏div的input
- hue问题汇总