Leetcode532.K-diff Pairs in an Array数组中的K-diff数对
2024-10-08 00:23:34
给定一个整数数组和一个整数 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)。
注意:
- 数对 (i, j) 和数对 (j, i) 被算作同一数对。
- 数组的长度不超过10,000。
- 所有输入的整数的范围在 [-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;
}
};
最新文章
- Windows Phone 九、SQLite数据库
- camstar --设备保养
- haskell笔记1
- Magento控制器
- C/C++程序员必须熟练应用的开源项目(转-清风小阁)
- 每日学习心得:找不到类型{0},它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素...中提供,cellspacing、rowspacing属性
- CentOS搭建LAMP环境
- CopyU!v2 已经收录到腾讯软件管家!
- 【TopCoder】SRM 680 DIV 2
- MySQL 错误日志(Error Log)
- 【原创整理,基于JavaScript的创建对象方式的集锦】
- @Override报错的解决方法
- 【转】使用sinopia五步快速完成本地npm搭建
- Android 原生 Intent 分享支持的那些事
- An Introduction to Variational Methods (5.3)
- vue 过滤器 基本用法
- 沉迷Link-Cut tree无法自拔之:[BZOJ3514] Codechef MARCH14 GERALD07 加强版
- 04-接口隔离原则(ISP)
- .NET面试题系列(十五)yong
- 【转】Python介绍
热门文章
- centos6 php5.4 升級到php 5.6
- 用hexo在本地搭建自己的博客
- 转载:shell中#*,##*,#*,##*,% *,%% *的含义及用法
- leetcode-123-买卖股票的最佳时机③
- NFS+mou
- Less适配移动端rem
- 前端面试题之一JAVASCRIPT(理论类)
- tip:删除数组中的undefined
- iOS开发CoreData的简单使用
- Linux查看温度