剑指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提交的代码