这题一开始用的是正向的递归,结果显而易见的内存超了,都怪python没有尾递归优化,渣渣。只能改循环了。采用的是倒过来数,这次内存占用就不超了。代码如下:
if nums == []:
return False
if nums[0] >= len(nums) - 1:
return True
m = len(nums) - 1
for i in range(len(nums) - 1)[::-1]:
if nums[i] >= m - i:
m = i
if i == 0:
if nums[i] >= m:
return True
else:
return False
解决Python内存超问题
本文通过将正向递归转换为循环方式,成功解决了Python在处理特定问题时出现的内存超限问题。采用从后向前遍历的方法,有效降低了内存消耗。

被折叠的 条评论
为什么被折叠?



