剑指Offer 03. 数组中重复的数字-解法一:循环+map

数组中重复的数字

http://www.nowcoder.com/questionTerminal/6fe361ede7e54db1b84adc81d09d8524

一次遍历,将扫描到数字做判断,如果可以在map中查到,就标记为true,否则返回这个数字,因为这个数字已经在map里存在了,属于重复数字。

//Go
func findRepeatNumber(nums []int) int {
    var nummap = make(map[int]bool)
    for _,num := range nums {
        if !nummap[num] {
            nummap[num] = true  //map中没有这个num
        } else {
            return num  //重复,直接返回
        }
    }

    return -1
}

leetcode-cn执行:

执行用时:
56 ms, 在所有 Go 提交中击败了8.84%的用户
内存消耗:8.9 MB, 在所有 Go 提交中击败了39.48%的用户

牛客网执行:

运行时间:3ms
超过100.00%用Go提交的代码
占用内存:832KB
超过100.00%用Go提交的代码
全部评论

相关推荐

喜欢走神的孤勇者练习时长两年半:池是池,发是发,我曾池,我现黑
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务