【发布时间】:2020-08-30 01:42:38
【问题描述】:
我在 leetcode 上运行了以下代码,它显示了 14MB 的内存由于某种未知原因(对我而言)被征服。我知道这很糟糕,因为我处于第 10 个百分位的新手中,所以有人能告诉我是谁吃的吗?
class Solution:
def longestPalindrome(self, s: str) -> int:
all_freq = {}
for i in s:
if i in all_freq:
all_freq[i] += 1
else:
all_freq[i] = 1
number = 0
flag = False
for i in all_freq:
number = number + all_freq[i] // 2
if all_freq[i] % 2 == 1:
flag = True
number = number*2
if flag : number = number +1
return number
【问题讨论】:
-
如果调用这段代码时用一个非常非常大的字符串作为参数,那么我可以想象它会占用大量内存。
-
@JohnGordon Nah,他们只是展示了整个 Python 进程的内存左右,无论解决方案如何,它都不会低于 ~13 MB 左右。