217. 存在重复元素
给定一个整数数组,判断是否存在重复元素。
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
//哈希表法,时空都是Onfunc containsDuplicate(nums []int) bool {hash_m := map[int]struct{}{} //1,为啥要这么建立哈希表for _, v := range nums {if _, ok := hash_m[v]; ok { //2,第二个ok又是啥意思return true}hash_m[v] = struct{}{} //3,返回的空值是什么}return false}
//暴力排序法,时间nlogn,空间logn
func containsDuplicate(nums []int) bool {
sort.Ints(nums)
for i := 1; i < len(nums); i++ {
if nums[i] == nums[i-1] {
return true
}
}
return false
}
