将def find_only_once(nums): hashtable = {} # 将每个数字作为 key,出现的次数作为 value 存入哈希表中 for num in nums: if num not in hashtable: hashtable[num] = 1 else: hashtable[num] += 1 # 遍历哈希表,找到 value 为 1 的 key,即为只出现一次的数字 for key, value in hashtable.items(): if value == 1: return key # 如果哈希表中没有 value 为 1 的 key,说明没有只出现一次的数字 return None进行封装
时间: 2024-02-13 17:03:20 浏览: 178
找出只出现一次的数字
5星 · 资源好评率100%
可以将该函数封装为一个类,类名为FindOnlyOnce,类中包含一个方法find_only_once,如下所示:
```python
class FindOnlyOnce:
def find_only_once(self, nums):
hashtable = {}
# 将每个数字作为 key,出现的次数作为 value 存入哈希表中
for num in nums:
if num not in hashtable:
hashtable[num] = 1
else:
hashtable[num] += 1
# 遍历哈希表,找到 value 为 1 的 key,即为只出现一次的数字
for key, value in hashtable.items():
if value == 1:
return key
# 如果哈希表中没有 value 为 1 的 key,说明没有只出现一次的数字
return None
```
这样,我们就可以通过创建FindOnlyOnce类的实例,来调用find_only_once方法,实现对只出现一次的数字进行查找。比如:
```python
fo = FindOnlyOnce()
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8]
res = fo.find_only_once(nums)
print(res) # 输出 9
```
这样的封装使得代码更加清晰、易读、易用,同时也方便了代码的维护和扩展。
阅读全文