剑指offer-56-2

剑指 Offer 56 - II. 数组中数字出现的次数 II

在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。

示例:

1
2
3
4
5
输入:nums = [3,4,3,3]
输出:4

输入:nums = [9,1,7,9,7,9,7]
输出:1

解法

解法一:哈希

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution:
def singleNumber(self, nums: List[int]) -> int:
test_dict = {}

for num in nums:
if num not in test_dict.keys():
test_dict[num] = 1
else:
test_dict[num] += 1

for num in nums:
if test_dict[num] == 1:
return num
return 0

解法二:官方题解

作者

bd160jbgm

发布于

2021-06-24

更新于

2021-06-24

许可协议