关于golang: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
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理