面试题53:在排序数组中查找数字

这道题的思路,和面试题39,56一致,我都牺牲了空间,也就是空间复杂度为O(n),时间复杂度为O(n)
但是显然这个思路不是最优的思路。
# -*- coding:utf-8 -*-
class Solution:
def GetNumberOfK(self, data, k):
# write code here
# 先判断边界
if not data:
return 0
# 创建一个字典
arraydict = {}
for num in data:
if num in arraydict:
arraydict[num] += 1
else:
arraydict[num] = 1
if k not in data:
return 0
else:
return arraydict[k]

浙公网安备 33010602011771号