Python代码保留了大量内存
我在leetcode上运行了下面的代码,它显示了14MB的内存由于某种未知的原因被征服(对我来说)。我知道这很糟糕,因为我是第10百分位的noobs,所以有人能告诉我是谁吃的吗Python代码保留了大量内存,python,memory,Python,Memory,我在leetcode上运行了下面的代码,它显示了14MB的内存由于某种未知的原因被征服(对我来说)。我知道这很糟糕,因为我是第10百分位的noobs,所以有人能告诉我是谁吃的吗 class Solution: def longestPalindrome(self, s: str) -> int: all_freq = {} for i in s: if i in all_freq:
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
问题是:
内存消耗取决于数据量、实例和测试用例,而这些数据的基准并不那么准确,只是不用担心。这也将通过:
class Solution:
def longestPalindrome(self, s):
odds = sum(val & 1 for val in Counter(s).values())
return len(s) - odds + bool(odds)
如果用一个非常非常大的字符串作为参数调用此代码,那么我可以想象它会占用大量内存。@JohnGordon-Nah,它们只是显示整个Python进程的内存,不管解决方案如何,它都不会低于~13MB左右。