每日一题 2006. 差的绝对值为 K 的数对数目

简介: 每日一题 2006. 差的绝对值为 K 的数对数目

题:给定数组nums和整数k,求数组中 满足|nums[i]-nums[j]| = k(i<j)的数对数目。

解:1. 直接两重循环

class Solution:
    def countKDifference(self, nums: List[int], k: int) -> int:
        cnt = 0
        for i in range(len(nums)):
            for j in range(i+1,len(nums)):
                if abs(nums[j]-nums[i]) == k:
                    cnt += 1
        return cnt

2.哈希表

class Solution:
    def countKDifference(self, nums: List[int], k: int) -> int:
        cnt, ans = Counter(nums), 0
        for key in cnt:
            if (key + k) in cnt:
                ans += cnt[key] * cnt[key + k]                
        return ans
相关文章
|
6月前
leetcode-2006:差的绝对值为 K 的数对数目
leetcode-2006:差的绝对值为 K 的数对数目
64 0
【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】
【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】
69 0
|
6月前
每日一题(最大连续1的个数,完全数计算)
每日一题(最大连续1的个数,完全数计算)
30 0
|
6月前
leetcode-1200:最小绝对差
leetcode-1200:最小绝对差
40 1
|
算法
【二分查找】数的范围/数的三次方根
【二分查找】数的范围/数的三次方根
【二分查找】数的范围/数的三次方根
|
算法 C++ Python
【每日算法Day 91】求解数组中出现次数超过1/3的那个数
【每日算法Day 91】求解数组中出现次数超过1/3的那个数
|
索引
每日一题—— 最小差值 I
每日一题—— 最小差值 I
158 0
每日一题—— 最小差值 I
|
Python
LeetCode 2006. 差的绝对值为 K 的数对数目
给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nums[i] - nums[j]| == k 。
100 0
LeetCode 1913. 两个数对之间的最大乘积差
两个数对 (a, b) 和 (c, d) 之间的 乘积差 定义为 (a * b) - (c * d) 。
70 0
|
测试技术
软件测试面试题:如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。 例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加, 1+2+3=6。第二个完全
软件测试面试题:如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。 例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加, 1+2+3=6。第二个完全
461 0