LeetCode简单题之差的绝对值为 K 的数对数目
题目
给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nums[i] - nums[j]| == k 。
|x| 的值定义为:
如果 x >= 0 ,那么值为 x 。
如果 x < 0 ,那么值为 -x 。
示例 1:
输入:nums = [1,2,2,1], k = 1
输出:4
解释:差的绝对值为 1 的数对为:
- [1,2,2,1]
- [1,2,2,1]
- [1,2,2,1]
- [1,2,2,1]
示例 2:
输入:nums = [1,3], k = 3
输出:0
解释:没有任何数对差的绝对值为 3 。
示例 3:
输入:nums = [3,2,1,5,4], k = 2
输出:3
解释:差的绝对值为 2 的数对为: - [3,2,1,5,4]
- [3,2,1,5,4]
- [3,2,1,5,4]
提示:
1 <= nums.length <= 200
1 <= nums[i] <= 100
1 <= k <= 99
来源:力扣(LeetCode)
解题思路
根据题目的意思,我们需要寻找两数之差绝对值等于k的值,故两个数是对称对等的关系。按照示例1的做法,每次访问当前元素并试图查找符合条件的另一个元素时,都是往后寻找的例如第一对,1和2,找完1,当遍历到2的时候便不再计算2和1是一对了,所有1和2,或者2和1是对称等价的,只需要计算一对即可。那么,为了能够加速计算,我们利用哈希表计算2和1这一对。这是一个非常巧妙地思想,在前面的两数之和也出现过。
class Solution:def countKDifference(self, nums: List[int], k: int) -> int:d={}ans=0for i in nums:ans+=d.get(i+k,0)+d.get(i-k,0)d[i]=d.get(i,0)+1return ans
LeetCode简单题之差的绝对值为 K 的数对数目相关推荐
- 「 每日一练,快乐水题 」2006. 差的绝对值为 K 的数对数目
✅力扣原题: 力扣链接:2006. 差的绝对值为 K 的数对数目 ✅题目简述: 给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nums ...
- 【算法练习】85.差的绝对值为 K 的数对数目——计数
⭐加入组队刷题,抱团生长,每天进步⭐ 可暴力,也可计数. --leetcode此题热评 前言 哈喽,大家好,我是一条. 糊涂算法,难得糊涂 点击<糊涂算法>系统学习 Question 20 ...
- JavaScript——leetcode2006 差的绝对值为k的数对数目
JavaScript--leetcode2006差的绝对值为k的数对数目 题目描述 给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nu ...
- 哈希表 -leetcode-2006. 差的绝对值为 K 的数对数目
2006. 差的绝对值为 K 的数对数目 提示: 1<=nums.length<=2001 <= nums.length <= 2001<=nums.length< ...
- 2006. 差的绝对值为 K 的数对数目
给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nums[i] - nums[j]| == k . |x| 的值定义为: 如果 x &g ...
- 合并数字 — m个数字消除相邻的差的绝对值为1的两个数中较大的那一个,直到没有两个相邻的差的绝对值为 1 的数(动态数组定义)
题目:合并数字 消除相邻的差的绝对值为1的两个数中较大的那一个.这一天,她得到了 m 个数字,她只能选出最左边的相邻的差的绝对值为 1 的两个数,保留较小的数,泯灭较大的数,直到没有两个相邻的差的绝对 ...
- LeetCode简单题之二叉搜索树的最小绝对差/最小距离
题目 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 差值是一个正数,其数值等于两值之差的绝对值. 示例 1: 输入:root = [4,2,6,1,3] 输出: ...
- LeetCode简单题之两个数对之间的最大乘积差
题目 两个数对 (a, b) 和 (c, d) 之间的 乘积差 定义为 (a * b) - (c * d) . 例如,(5, 6) 和 (2, 7) 之间的乘积差是 (5 * 6) - (2 * 7) ...
- LeetCode简单题之整数的各位积和之差
题目 给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差. 示例 1: 输入:n = 234 输出:15 解释: 各位数之积 = 2 * 3 * 4 = 24 各位数之和 ...
最新文章
- 知识产权创业的比赛结果
- Oracle中的pfile和spfile详解
- vector内存扩容
- [gkk传智]static与多态及向下向上转型,及多态调用总结
- linux 网络命令 dns,[LN_03] Linux网络环境查看(网卡|路由|DNS|IP)、网络测试命令(端口探测|路由跟踪|抓包|ssh连接)...
- python获取html文本框内容_Python3处理HTML获取所需内容
- 阿里云宣布与国内规模最大的汽车企业上汽集团合作
- datatable java实现_在JAVA实现DataTable对象(一)
- ZigBee 集中式网络与分布式网络
- 远程重装Win11系统图文教程
- 17-[案例1]奇虎导航案例
- php拆分excel,PHPExcel合并与拆分单元格的方法
- 高速单行道 IN Name Id”:道路入口有一辆车请求进入
- centos解压与压缩zip格式文件
- ASO苹果搜索广告审核不通过的原因
- 服务器检测到恶意发送文件,微软认证:文件服务器上与恶意文件夹的战争
- NES专题——NES的游戏硬件
- 知识图谱初探(二)三体人物关系图谱构建
- 点线面的意义_1.点线面三元素在平面构成中的造型意义是什么?
- 计算机win7几位,Win7 32位与64位有什么区别 Win7系统32位和64位的区别科普篇
热门文章
- restTemplate http请求报错:no suitable HttpMessageConverter found for response type and content type
- Spring AOP + Redis解决重复提交的问题
- Docker入门六部曲——Swarm
- 2022-2028年中国房地产金融行业投资分析及前景预测报告
- 2022-2028年中国冶金工业节能减排投资分析及前景预测报告
- 并发 vs 并行 (Concurrency Is Not Parallelism)
- 实践学习:首次项目合作
- SQLALchemy之Python连接MySQL
- 线程的状态、调度、同步
- 如何在 GPU 上优化卷积