不会飞的章鱼

熟能生巧,勤能补拙;念念不忘,必有回响。

Leetcode-136-single-number | 只出现一次的数字

题目链接

解题思路

  • 第一步,新建一个map,用一个for循环,记录nums数组中出现的元素和次数,如果重复出现,value置为2,出现一次置为1;
  • 第二步,再用一个for循环,遍历这个新建map,判断value为是否1,如果为1,就把value为1对应的key返回即可。

Golang

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
func singleNumber(nums []int) int {
numsmap := make(map[int]int)
var result int
for _,v := range nums {
if numsmap[v] != 0 {
numsmap[v] = 2 //有重复,value为2
} else {
numsmap[v] = 1 //无重复,value为1
}

}
for k,v := range numsmap {
if v == 1 {
result = k //返回那个只出现一次的数字
}
}

return result
}
------ 本文结束------
如果本篇文章对你有帮助,可以给作者加个鸡腿~(*^__^*),感谢鼓励与支持!