数组区间操作,数组中重复数相关
Posted Witcher
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组区间操作,数组中重复数相关相关的知识,希望对你有一定的参考价值。
区间合并,区间交集,区间并集等等,数组中一个重复一次,两次相关问题
56 合并区间
字节 tencent
986 区间列表交集
442 数组中重复的数据
- 原地hash
根据数值找指定索引。如果当前索引的值>0则变负。如果<0则证明出现过
func findDuplicates(nums []int) []int {
//原地hash
res:=make([]int,0)
for i:=0;i<len(nums);i++{
index:=abs(nums[i])-1 //索引值,防止溢出
if nums[index]>0{
nums[index] = -nums[index]
}else{
res = append(res,index+1)
}
}
return res
}
func abs(x int)int{ //自带math.Abs只能处理float64
if x<0{
return -x
}
return x
}
278 寻找重复数
- 原地hash 类似442
func findDuplicate(nums []int) int {
//原地hash
for i:=0;i<len(nums);i++{
index:=abs(nums[i])-1 //索引值,防止溢出
if nums[index]>0{
nums[index] = -nums[index]
}else{
return index+1
}
}
return 0
}
func abs(x int)int{ //自带math.Abs只能处理float64
if x<0{
return -x
}
return x
}
以上是关于数组区间操作,数组中重复数相关的主要内容,如果未能解决你的问题,请参考以下文章