Open yankewei opened 2 years ago
func countKDifference(nums []int, k int) int {
var r int
for i := 0; i < len(nums); i++ {
for j := i; j < len(nums); j++ {
diff := nums[i] - nums[j]
if diff == k || diff == -k {
r++
}
}
}
return r
}
func countKDifference(nums []int, k int) int {
var r int
m := make(map[int]int)
for _, v := range nums {
m[v]++
}
for _, v := range nums {
r += m[v+k]
r += m[v-k]
m[v]--
}
return r
}
func countKDifference(nums []int, k int) int {
var r int
m := make(map[int]int)
for _, v := range nums {
r += m[v+k]
r += m[v-k]
m[v]++
}
return r
}
给你一个整数数组
nums
和一个整数k
,请你返回数对(i, j)
的数目,满足i < j
且|nums[i] - nums[j]| == k
。|x|
的值定义为:如果
x >= 0
,那么值为x
。 如果x < 0
,那么值为-x
。示例 1:
示例 2:
示例 3:
提示:
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/count-number-of-pairs-with-absolute-difference-k 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。