每日一题 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月前
|
BI 测试技术 Windows
【数位】【数论】【分类讨论】2999. 统计强大整数的数目
【数位】【数论】【分类讨论】2999. 统计强大整数的数目
|
6月前
leetcode-2006:差的绝对值为 K 的数对数目
leetcode-2006:差的绝对值为 K 的数对数目
65 0
【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】
【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】
71 0
|
6月前
|
人工智能
PTA-求一组数中大于平均值的数的和
求一组数中大于平均值的数的和
61 0
|
6月前
leetcode-1200:最小绝对差
leetcode-1200:最小绝对差
40 1
|
索引
每日一题—— 最小差值 I
每日一题—— 最小差值 I
159 0
每日一题—— 最小差值 I
|
Python
LeetCode 2006. 差的绝对值为 K 的数对数目
给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nums[i] - nums[j]| == k 。
101 0
LeetCode 1913. 两个数对之间的最大乘积差
两个数对 (a, b) 和 (c, d) 之间的 乘积差 定义为 (a * b) - (c * d) 。
71 0
h0039. 平方数 (15 分)
h0039. 平方数 (15 分)
131 0
|
测试技术
软件测试面试题:如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。 例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加, 1+2+3=6。第二个完全
软件测试面试题:如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。 例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加, 1+2+3=6。第二个完全
464 0