LeetCode 532. 数组中的K-diff数对
1. 题目
给定一个整数数组和一个整数 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]。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/k-diff-pairs-in-an-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
class Solution {public:int findPairs(vector<int>& nums, int k) {if(k < 0)return 0;unordered_map<int,int> m;for(int num:nums)m[num]++;int sum = 0;if(k != 0){for(auto p : m)if(m.count(p.first+k))//因为i,j | j,i 算1组,只用+k,不用检查-ksum++;}else//k==0for(auto it : m)if(it.second >= 2)//数字自己>=2个,可以产生1组sum++;return sum;}
};
32 ms 12.1 MB
LeetCode 532. 数组中的K-diff数对相关推荐
- Leetcode 532.数组中的K-diff数对
数组中的K-diff数对 给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对.这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组中的数字 ...
- Leetcode 215.数组中第k个最大元素 (每日一题 20210713)
给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素.示例 1:输入: [3,2,1,5,6,4] 和 ...
- LeetCode——寻找数组中第三大的数
给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2 ...
- Leetcode——2053. 数组中第 K 个独一无二的字符串
数组中第 K 个独一无二的字符串 题目 解题思路 题目 独一无二的字符串 指的是在一个数组中只出现过 一次 的字符串. 给你一个字符串数组 arr 和一个整数 k ,请你返回 arr 中第 k 个 独 ...
- LeetCode —— 532. 数组中的K-diff数对(Python)
给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对.这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组中的数字,且两数之差的绝对值是 k ...
- LeetCode 2053. 数组中第 K 个独一无二的字符串(哈希)
文章目录 1. 题目 2. 解题 1. 题目 独一无二的字符串 指的是在一个数组中只出现过 一次 的字符串. 给你一个字符串数组 arr 和一个整数 k ,请你返回 arr 中第 k 个 独一无二的字 ...
- LeetCode 1471. 数组中的 k 个最强值(排序)
1. 题目 给你一个整数数组 arr 和一个整数 k . 设 m 为数组的中位数,只要满足下述两个前提之一,就可以判定 arr[i] 的值比 arr[j] 的值更强: |arr[i] - m| > ...
- 第J题-=数组中等于K的数对(详解) =======给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数
给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对.例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0 ...
- 2022-2-9 Leetcode 532.数组中的 k-diff 数对
第一版,巨慢 class Solution {public:// int findPairs(vector<int>& nums, int k) {// int ret = 0;/ ...
最新文章
- 多分类问题的ROC曲线绘制
- 2、SpringBoot整合JDBC
- 一个高质量的程序应具备哪些条件?_如何开好一个精品店?需要具备哪些条件?...
- 指定的参数已超出有效值的范围_整流二极管的特性和重要参数
- 调查VMware View Composer失败代码(2085204)
- Hibernate - HHH000352: Unable to release batch statement
- Alfred Remote初体验
- 知识点:Office插入数学公式常用的快捷键(终于可以解放鼠标了)
- diffuse、specular贴图的光照
- ue4人物动作_ue4人物动作资源Resource Gathering Animation418
- 大华平台linux密码,大华DSS平台低权限账户越权直接修改system密码
- 欧拉回路,欧拉路径,欧拉图详解
- 2014年春季学期,每日计划总结,每日签到
- 中小企业数字化转型难,不妨先从业务流程自动化开始
- VUE组件通信的使用
- java转换2进制_java里怎样把文件转换成二进制
- c语言贴粘,挖坟贴,多年前发的一个如何学习C语言的帖子
- 计算机网络工程师多久过期,软考网络工程师证书有效期是多久?
- Antlr4入门(三)如何编写语法文件
- DevExpress破解版下载