每天坚持做题不容易,虽然很多题目都是参考别人的思维,但是我想做过总会有印象的,像dfs这种东西刚开始不熟,后面写多了就知道个大概模式了,自己加油吧!!!
1. Top K Frequent Elements [55ms]
# 方法1:自己写的哈希表,因为不知道get函数,所以sort出来的是元组,还需要后面的计算,超时
# 方法2:参考dicuss用get方法,大数据量不超时
class Solution(object):
def topKFrequent(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: List[int]
"""
hashTable = {}
for i in nums:
if i not in hashTable.keys():
hashTable[i] = 1
else:
hashTable[i] += 1
sortK = sorted(hashTable.items(), key=lambda d: d[1], reverse=True)
print(sortK)
ans = []
for i in range(len(sortK[:k])):
ans.append(sortK[i][0])
return ans
class Solution(object):
def topKFrequent(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: List[int]
"""
hashTable = {}
for num in nums:
if num in hashTable:
hashTable[num] += 1
else:
hashTable[num] = 0
ans = sorted(hashTable, key=hashTable.get, reverse=True)
return ans[:k]
2. String to Interger(atoi) [80ms]
# 方法1:首先要过滤掉开始的空格和0