给定一个整数数组和一个整数 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,但我们只应返回不同的数对的数量。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/k-diff-pairs-in-an-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

————————
解题思路:
(1)如果k小于零,根据题目两数之差的绝对值为大于等于0的数,所以直接返回0;
(2)如果k=0,则返回数组中相同数字个数大于1的数量;
(3)如果k>0,则根据set()的特性寻找差值为k的数对;

class Solution:def findPairs(self, nums: List[int], k: int) -> int:if not nums:return 0if k< 0:return 0if k == 0:nums_dict = collections.Counter()for num in nums:nums_dict[num] += 1return sum(1 for val in nums_dict.values() if val > 1)nums_ = set(nums)return sum(1 for num in nums_ if num+k in nums_)

LeetCode —— 532. 数组中的K-diff数对(Python)相关推荐

  1. LeetCode 532. 数组中的K-diff数对

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

  2. Leetcode 532.数组中的K-diff数对

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

  3. Leetcode 215.数组中第k个最大元素 (每日一题 20210713)

    给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素.示例 1:输入: [3,2,1,5,6,4] 和 ...

  4. LeetCode——寻找数组中第三大的数

    给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2 ...

  5. Leetcode——2053. 数组中第 K 个独一无二的字符串

    数组中第 K 个独一无二的字符串 题目 解题思路 题目 独一无二的字符串 指的是在一个数组中只出现过 一次 的字符串. 给你一个字符串数组 arr 和一个整数 k ,请你返回 arr 中第 k 个 独 ...

  6. LeetCode 2053. 数组中第 K 个独一无二的字符串(哈希)

    文章目录 1. 题目 2. 解题 1. 题目 独一无二的字符串 指的是在一个数组中只出现过 一次 的字符串. 给你一个字符串数组 arr 和一个整数 k ,请你返回 arr 中第 k 个 独一无二的字 ...

  7. LeetCode 1471. 数组中的 k 个最强值(排序)

    1. 题目 给你一个整数数组 arr 和一个整数 k . 设 m 为数组的中位数,只要满足下述两个前提之一,就可以判定 arr[i] 的值比 arr[j] 的值更强: |arr[i] - m| > ...

  8. 第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 ...

  9. 2022-2-9 Leetcode 532.数组中的 k-diff 数对

    第一版,巨慢 class Solution {public:// int findPairs(vector<int>& nums, int k) {// int ret = 0;/ ...

最新文章

  1. 苹果新算法已混进 iOS 14.3!CSAM 检测技术再遭网友争议
  2. 半年总结(2018-10)
  3. [导入]web2.0中流行的设计元素:颜色
  4. Android数据存储之文件存储(瞬时数据的存储与读取)项目已上传GitHub
  5. Java并发知识总结,超详细!(上)
  6. 【opencv系列06】OpenCV4.X滑动条操作
  7. 前端学习(3037):vue+element今日头条管理-把数据放到本地存储
  8. java字节流转字符串_字节流与字符流的区别及相互转换
  9. 菜鸟裹裹宣布:让数十万快递小哥月入过万成为常态
  10. Python字典的操作与使用
  11. mc有什么红石机器人_我的世界:MC黑科技!毁图仅需一秒 红石机器人真能移动!...
  12. Ubuntu18.04 evo安装
  13. Tomcat发布项目后JS中文乱码
  14. 2017公共DNS服务器评估报告——公共DNS推荐(摘录)
  15. 微信公众平台消息接口开发 小黄鸡(小贱鸡)机器人 微信公众平台 公众号聊天机器人 ,消息,接口,小黄鸡,小贱鸡,机器人...
  16. 3D游戏建模:游戏建模都要用到哪些软件?
  17. 【Android】制作一个简易的画板
  18. 【excel技巧读书笔记005】快速隔行填充
  19. java解析与生成json数据的四种方式,比如将json字符串转为json对象或json对象转为json字符串
  20. gnu linux额外支持的运算符,《Shell编程从入门到精通》张昊-chap1-8

热门文章

  1. 没有一款趁手的数据监控软件?试一下NetData不,用了你就绝对离不开他!
  2. JavaScript 内存机制(前端同学进阶必备)
  3. 知乎: 如何评价阿里开源的企业级 Node.js 框架 egg? #18
  4. Oracle备份与恢复 expdp/impdp数据泵远程导入导出
  5. 如何在CentOS 7.x / RHEL 7.x上搭建Docker Private Registry(Docker私有仓库)
  6. 计算机应用基础的客观题,计算机应用基础专题库客观题参考答案11
  7. Java 并发编程小册整理好了
  8. 关于EFCore线程内唯一
  9. git .gitignore 忽略的文件还会被提交
  10. Css+Div设置电脑端显示,手机端不显示代码