def longestPalindrome(s):
longest = []
palindrome = []
for i in range(len(s)):
for j in range(i, len(s)):
palindrome.append(s[j])
if palindrome == palindrome[::-1]:
print(palindrome)
longest = palindrome
palindrome = []
return longest
print(longestPalindrome("What kind of racecar do you drive?"))
我尝试通过像这样更改if语句来只获得最长的回文。
if palindrome == palindrome[::-1] and len(palindrome) > len(longest):
这并不像预期的那样有效。我只打印第一个回文[“w”],然后在列表中返回整个字符串[“w”,“h”,...]
当执行lengte=palindrome
时,您将lengte
列表的引用指向palindrome
,因此palindrome.append(S[j])
也会追加到lengte
你需要复印名单。
longest = palindrome[:]
例如,
def longestPalindrome(s):
longest = []
palindrome = []
for i in range(len(s)):
for j in range(i, len(s)):
palindrome.append(s[j])
if palindrome == palindrome[::-1] and len(palindrome) > len(longest):
# print(palindrome, i, j)
longest = palindrome[:]
palindrome = []
return ''.join(longest)
print(repr(longestPalindrome("What kind of racecar do you drive?")))
问题内容: python中是否有内置函数返回两个列表的最长公共子序列的长度? 我试图找到最长的公共子序列,然后得到它的长度,但是我认为必须有一个更好的解决方案。 问题答案: 您可以轻松地将LCS重新装配为LLCS: 演示: 如果您想要最长的公共 子字符串 (一个 不同 但相关的问题, 子 序列是连续的),请使用: 这与动态编程方法非常相似,但是我们跟踪到目前为止找到的最大长度(因为不再保证表中的最
问题内容: 获取最长单词长度的更Python方式是什么: 要么: 或者是其他东西? 是字符串列表。我发现我经常需要这样做,并且在用几个不同的样本量进行计时之后,第一种方法似乎始终如一地更快,尽管在票面价值上似乎效率不高(被叫两次的冗余似乎无关紧要,在第二种方法中发生的更多)这种形式的C代码?)。 问题答案: 我认为两者都可以,但是我认为除非速度是最易读的大考虑。 当我看着它们时,我花了更长的时间才
问题内容: 有没有办法在Python中建立一个自动增长的列表?我的意思是制作一个列表,该列表将在引用不存在的索引时增长。基本上是Ruby数组的行为。 提前致谢! 问题答案: 当然有可能,您只需要使用list的子类即可。 用法:
问题内容: 我有一个可变长度的列表,正在尝试寻找一种方法来测试当前正在评估的列表项是否是列表中包含的最长字符串。我正在使用Python 2.6.1 例如: 当然,有一个简单的列表理解功能很简短,但我却忽略了它? 问题答案: 从Python文档本身,您可以使用:
问题内容: 如果我在python中有一个列表(或数组,字典…),它可能会超出可用的内存地址空间,(32位python)有哪些选项和相对速度?(除了不使列表变大之外)列表 可能 超出内存,但我无法事先知道。一旦开始超过75%,我将不再希望将该列表保留在内存中(或者无论如何都不会保留新项目),有没有办法在中途转换为基于文件的方法? 最佳(快进和快出)文件存储选项是什么? 只需要存储一个简单的数字列表。
问题内容: 关于JPA,我有以下问题: 我可以将元素的顺序保存在java.util.List中吗?在我的应用程序中,将元素放入列表的顺序很重要,但是从数据库中获取这些集合后,顺序却不一样(符合预期)。您能告诉我解决这个问题的方法吗? PS:我放入集合中的实体中没有字段可用来订购它们。 罗森 问题答案: 在JPA 1中,有一些骇人听闻的方法可以做到这一点,但是切换到JPA 2提供程序是最容易的。您正