给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对。这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组中的数字,且两数之差的绝对值是 k.

示例 1:

输入: [3, 1, 4, 1, 5], k = 2 输出: 2 解释: 数组中有两个 2-diff 数对, (1, 3) 和 (3, 5)。 尽管数组中有两个1,但我们只应返回不同的数对的数量。

示例 2:

输入:[1, 2, 3, 4, 5], k = 1 输出: 4 解释: 数组中有四个 1-diff 数对, (1, 2), (2, 3), (3, 4) 和 (4, 5)。

示例 3:

输入: [1, 3, 1, 5, 4], k = 0 输出: 1 解释: 数组中只有一个 0-diff 数对,(1, 1)。

注意:

  1. 数对 (i, j) 和数对 (j, i) 被算作同一数对。
  2. 数组的长度不超过10,000。
  3. 所有输入的整数的范围在 [-1e7, 1e7]。
class Solution {
public:
int findPairs(vector<int>& nums, int k) {
map<pair<int, int>, int> check;
int len = nums.size();
int res = 0;
for(int i = 0; i < len; i++)
{
for(int j = i + 1; j < len; j++)
{
if(abs(nums[j] - nums[i]) == k && check[make_pair(nums[i], nums[j])] == 0)
{
res++;
check[make_pair(nums[i], nums[j])] = 1;
check[make_pair(nums[j], nums[i])] = 1;
}
}
}
return res;
}
};

最新文章

  1. Windows Phone 九、SQLite数据库
  2. camstar --设备保养
  3. haskell笔记1
  4. Magento控制器
  5. C/C++程序员必须熟练应用的开源项目(转-清风小阁)
  6. 每日学习心得:找不到类型{0},它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素...中提供,cellspacing、rowspacing属性
  7. CentOS搭建LAMP环境
  8. CopyU!v2 已经收录到腾讯软件管家!
  9. 【TopCoder】SRM 680 DIV 2
  10. MySQL 错误日志(Error Log)
  11. 【原创整理,基于JavaScript的创建对象方式的集锦】
  12. @Override报错的解决方法
  13. 【转】使用sinopia五步快速完成本地npm搭建
  14. Android 原生 Intent 分享支持的那些事
  15. An Introduction to Variational Methods (5.3)
  16. vue 过滤器 基本用法
  17. 沉迷Link-Cut tree无法自拔之:[BZOJ3514] Codechef MARCH14 GERALD07 加强版
  18. 04-接口隔离原则(ISP)
  19. .NET面试题系列(十五)yong
  20. 【转】Python介绍

热门文章

  1. centos6 php5.4 升級到php 5.6
  2. 用hexo在本地搭建自己的博客
  3. 转载:shell中#*,##*,#*,##*,% *,%% *的含义及用法
  4. leetcode-123-买卖股票的最佳时机③
  5. NFS+mou
  6. Less适配移动端rem
  7. 前端面试题之一JAVASCRIPT(理论类)
  8. tip:删除数组中的undefined
  9. iOS开发CoreData的简单使用
  10. Linux查看温度