每日一题 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
相关文章
|
7月前
leetcode-2006:差的绝对值为 K 的数对数目
leetcode-2006:差的绝对值为 K 的数对数目
66 0
【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】
【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】
76 0
|
7月前
每日一题(最大连续1的个数,完全数计算)
每日一题(最大连续1的个数,完全数计算)
37 0
|
7月前
|
人工智能
PTA-求一组数中大于平均值的数的和
求一组数中大于平均值的数的和
75 0
|
7月前
求十个数的乘积
求十个数的乘积
36 0
一个数如果恰好等于它的因子之和,这个数就称为“完数“。例如6=1+2+3.编程找出1000以内的所有完数
一个数如果恰好等于它的因子之和,这个数就称为“完数“。例如6=1+2+3.编程找出1000以内的所有完数
765 0
一个数如果恰好等于它的因子之和,这个数就称为“完数“。例如6=1+2+3.编程找出1000以内的所有完数
|
索引
每日一题—— 最小差值 I
每日一题—— 最小差值 I
169 0
每日一题—— 最小差值 I
|
Python
LeetCode 2006. 差的绝对值为 K 的数对数目
给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nums[i] - nums[j]| == k 。
102 0
PTA 1023 组个最小数 (20 分)
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。
99 0
|
测试技术
软件测试面试题:如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。 例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加, 1+2+3=6。第二个完全
软件测试面试题:如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。 例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加, 1+2+3=6。第二个完全
475 0

热门文章

最新文章