剑指 Offer II 004.
给你一个整数数组 nums
,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。
解法1【哈希表】
示例
输入:nums = [0, 1, 0, 1, 0, 1, 99]
输出:99
python中的dict用的就是哈希表
class Solution:
def singleNumber(self, nums: List[int]) -> int:
num_dict = {}
for num in nums:
count = num_dict.get(num)
if count is None:
num_dict[num] = 1
elif count == 1:
num_dict[num] += 1
elif count == 2:
num_dict.pop(num)
return [key for key in num_dict.keys()][0]
字典的操作
Update Dictionary
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict.update({"year": 2020, "new":2022})
# 老的key会更新,新的key会添加
# {'brand': 'Ford', 'model': 'Mustang', 'year': 2020, 'new': 2022}
Method | Description |
---|---|
clear() | Removes all the elements from the dictionary |
copy() | Returns a copy of the dictionary |
fromkeys() | Returns a dictionary with the specified keys and value |
get(key, default=None) | Returns the value of the specified key |
items() | Returns a list containing a tuple for each key value pair |
keys() | Returns a list containing the dictionary's keys |
pop() | Removes the element with the specified key |
popitem() | Removes the last inserted key-value pair |
setdefault(key, default=None) | Returns the value of the specified key. If the key does not exist: insert the key, with the specified value |
update() | Updates the dictionary with the specified key-value pairs |
values() | Returns a list of all the values in the dictionary |