[leetcode]-532 K-diff Pairs in an Array
2017-04-04 14:28
423 查看
这道题目不难,注意的点有两点:
1)(i,j)和(j,i)只计算一次
2)同样的(i,j)只计算一次
刚开始一直报错,因为自己定义了结构了“pair”,后来发现是c++中有自带的pair模板类型,这里没有使用,使用了自定义的pairnumtypedef struct pairnum
{
int x;
int y;
};
class Solution {
public:
vector<pairnum> pairs;
int findPairs(vector<int>& nums, int k) {
int len = nums.size();
int total = 0;
for(int i = 0; i < len; ++ i){
for(int j = i+1; j < len; ++ j){
if(abs(nums[i]-nums[j]) == k){
if(!find(nums[i],nums[j],pairs)){
insert(nums[i],nums[j]);
++ total;
}
}
}
}
return total;
}
int find(int x, int y, vector<pairnum>& pairstore){
for(int i = 0; i < pairstore.size(); ++ i){
pairnum e = pairstore[i];
if((e.x == x && e.y == y) ||
(e.x == y && e.y == x)){
return 1;
}
}
return 0;
}
void insert(int x, int y){
pairnum e;
e.x = x;
e.y = y;
pairs.push_back(e);
}
};
相关文章推荐
- Leetcode 532 K-diff Pairs in an Array
- leetcode532~K-diff Pairs in an Array
- Leetcode 532 K-diff Pairs in an Array
- 20170605-leetcode-532-K-diff Pairs in an Array
- LeetCode 532 K-diff Pairs in an Array
- LeetCode - 532 - K-diff Pairs in an Array
- LeetCode-532:K-diff Pairs in an Array (给定绝对值差的值对个数)
- K-diff Pairs in an Array leetcode 532
- leetcode题解-532. K-diff Pairs in an Array
- leetcode532. K-diff Pairs in an Array
- leetcode解题报告(13):K-diff Pairs in an Array
- LeetCode 532. K-diff Pairs in an Array
- 【LeetCode】532. K-diff Pairs in an Array
- LeetCode K-diff Pairs in an Array
- [LeetCode] K-diff Pairs in an Array 数组中差为K的数对
- [leetcode]: 532. K-diff Pairs in an Array
- leetcode 532. K-diff Pairs in an Array
- [LeetCode]532. K-diff Pairs in an Array
- [LeetCode]532. K-diff Pairs in an Array
- LeetCode刷题【Array】 K-diff Pairs in an Array