Golang:
思路:先对数组进行排序,然后计算每个元素出现了几次,存进map里,注意,这里map只是当作一个set来使用的,判断有没有出现重复而已。
代码如下:
func uniqueOccurrences(arr []int) bool {
if len(arr)<=1 {
return true
}
sort.Ints(arr)
m:=make(map[int]int)
temp:=1
for i:=1;i<len(arr);i++{
if arr[i]!=arr[i-1] {
if _,ok:=m[temp];ok {
return false
}
m[temp]=1
temp=1
}else{
temp++
}
}
if _,ok:=m[temp];ok {
return false
}else{
return true
}
}
有疑问加站长微信联系(非本文作者)