文章目录
☀️ 前言 ☀️
算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!
🙀 作者简介 🙀
大家好,我是布小禅,一个尽力让无情的代码变得生动有趣的IT小白,很高兴能偶认识你,关注我,每天坚持学点东西,我们以后就是大佬啦!
📢 :❤布小禅❤
📢 作者专栏:
这是我刷第 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
- 双指针 - 一快一慢 - 找条件 - 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) 返回计算结果 }
🌔 结语 🌔
坚持最重要,每日一题必不可少!😸
期待你的关注和督促!😛