力扣链接:https://leetcode-cn.com/probl…
解题思路:
- 给定一个数组,存在反复元素;首先能够排序整个数组,而后反复的元素肯定是相邻的元素,那么遍历整个数组,若存在相邻元素想等的状况,那么返回true,否则返回false
func containsDuplicate(nums []int) bool {
sort.Ints(nums)
for i := 0; i < len(nums); i++ {
if nums[i] == nums[i+1] {
return true
}
}
return false
}
- 能够应用哈希表进行记录,如果哈希表中存在记录则返回true,否则返回false
func containsDuplicate(nums []int) bool {
numsToFlag := make(map[int]int, len(nums))
for _, v := range nums {
if _, ok := numsToFlag[v]; ok {
return true
}
numsToFlag[v] = 1
}
return false
}
发表回复