Leetcode专题[数组]-217-存在重复元素

力扣链接:https://leetcode-cn.com/probl...
解题思路:

  1. 给定一个数组,存在重复元素;首先可以排序整个数组,然后重复的元素一定是相邻的元素,那么遍历整个数组,若存在相邻元素想等的情况,那么返回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
}
  1. 可以使用哈希表进行记录,如果哈希表中存在记录则返回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
}

你可能感兴趣的:(golang)