Golang:
思路:先说明一下,个人的思路实际上效率比较低,先进行一次排序,然后去使用暴力破解,这个算是优化了的暴力算法吧,但还是不如两数之和那种解法简单。
代码如下:
func findPairs(nums []int, k int) int {
tmap:=make(map[int]int)
sort.Ints(nums)
res:=0
for i:=0;i<len(nums)-1;i++{
BR:
for j:=i+1;j<len(nums);j++{
if nums[j]-nums[i]==k {
if tmap[nums[j]]==0 {
tmap[nums[j]]=1
res++
}
}
if nums[j]-nums[i]>k {
break BR
}
}
}
return res
}
有疑问加站长微信联系(非本文作者)