首页 > 试题广场 >

k-dis数对

[编程题]k-dis数对
  • 热度指数:1025 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个长度为 n 的整数数组 nums ,和一个正整数 k,你需要输出不同的 k-dis 数对数量。
k-dis 数对定义为一个整数对 ,满足 ,且

数据范围: 1 \leq n \leq 10^5 \|nums_i| \leq 10^7 \0 \leq k \leq 2 * 10^7 \
示例1

输入

[3,1,4,6,5],3

输出

2

说明

(4,1),(6,3) 
示例2

输入

[3,1,4,6,4],3

输出

2

说明

(4,1) (6,3) 虽然有两个 (4,1) 数对,但只统计不同的数对 
头像 哈哈哈哈哈HA
发表于 2024-01-08 22:01:10
空间换时间。。。去重有没有更好的办法 import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums 展开全文
头像 比卡姆贝特
发表于 2024-03-08 00:01:57
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @param k int整型 # @return int整型 # class Solution: def k_dis(self , nums: 展开全文
头像 fred-coder
发表于 2022-05-08 13:35:40
由于数组的长度考虑采用哈希的方式,只遍历一次数组,利用 set 对结果进行去重 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @param k int整型 # @return int整型 # fro 展开全文