|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这段代码13行为什么会超过列表长度???
class Solution(object):
def longestPalindrome(self, s):
"""
:type s: str
:rtype: str
"""
max_length=0
final_start=0
final_end=0
dp=[[False] for i in range(len(s))]
for end in range(1,len(s)):
for start in range(end):
if s[start]==s[end] and (end-start<2 or dp[start+1][end-1]):
dp[start][end]=True
if max_length<end-start+1:
final_start=start
final_end=end
length=end-start+1
return s(final_start,final_end+1)
- dp=[[False] for i in range(len(s))]
复制代码
产生的 dp
- dp = [[False] , [False] , [False] ... ]
复制代码
只能通过 dp[n][0] 来访问列表中的元素
而这一句
- if s[start]==s[end] and (end-start<2 or dp[start+1][end-1]):
复制代码
dp[start+1][end-1],end - 1 的值是 0 吗?
|
|