LeetCode刷题2006-简单-差的绝对值为 K 的数对数目
Posted 布小禅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode刷题2006-简单-差的绝对值为 K 的数对数目相关的知识,希望对你有一定的参考价值。
☀️ 前言 ☀️
算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!
🙀 作者简介 🙀
大家好,我是布小禅,一个尽力让无情的代码变得生动有趣的IT小白,很高兴能偶认识你,关注我,每天坚持学点东西,我们以后就是大佬啦!
📢 博客主页:❤布小禅❤
📢 作者专栏:
❤Python❤
❤Java❤这是我刷第 70/100 道力扣简单题
💗 一、题目描述 💗
给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nums[i] - nums[j]| == k 。
|x| 的值定义为:
如果 x >= 0 ,那么值为 x 。
如果 x < 0 ,那么值为 -x 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/count-number-of-pairs-with-absolute-difference-k
著作权归领扣网络所有。
商业转载请联系官方授权,非商业转载请注明出处。
示例1:
输入: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]
示例2:
输入: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]
提示:
1 <= nums.length <= 200
1 <= nums[i] <= 1001 <= k <= 9
💁 二、题目解析 💁
思 路 1 : \\color{green}{思路1:} 思路1:
- 双指针 - 一快一慢 - 找条件 - math.h fabs
🏃 三、代码 🏃
☁️ C语言☁️
/*
双指针
一快一慢
找条件
math.h fabs
*/
int countKDifference(int* nums, int numsSize, int k){
int ans=0; // (1) 返回值
int slow=0; // (2) 慢指针
int fast; // (3) 快指针
while (slow<numsSize) // (4) 遍历数组
{
fast = slow; // (5) 令fast的值一直小于等于slow
while (fast<numsSize) // (6) 二重循环
{
if ((int)fabs(nums[fast]-nums[slow])==k) ans++; // (7) 计算数目
fast++;
}
slow++;
}
return ans; // (8) 返回计算结果
}
🌔 结语 🌔
坚持最重要,每日一题必不可少!😸
期待你的关注和督促!😛
以上是关于LeetCode刷题2006-简单-差的绝对值为 K 的数对数目的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 1001. 网格照明 / 2006. 差的绝对值为 K 的数对数目 / 1447. 最简分数