我正在編寫乙個python**,其中我必須使用遞迴來測試列表是否是回文,並且遇到**中的混亂和問題:def ispalindrome( thesublist ) :
thesublisttest = thesublist[0:]
if len(thesublisttest) <= 1:
return true
elif len(thesublisttest) == 2:
x = thesublisttest[0]
y = thesublisttest[1]
if x == y:
return true
else:
return false == thesublisttest.pop(0)
elif len(thesublisttest) > 2:
first = thesublisttest.pop(0)
last = thesublisttest.pop()
if first == last:
return ispalindrome(thesublisttest)
else:
return false
def maxpalindrome( thelist ) :
completelist=thelist[:]
completelist.reverse()
complete=len(thelist)-1
for i in range(complete):
if completelist[:]==thelist[:]:
x=len(thelist)
y=0return(x,y)
elif completelist[i:complete]==thelist[i:complete]:
successlist=thelist[i:complete]
a=ib=len(thelist)-a
return (a,b)
thelisttest = thelist[0:]
if thelisttest:
return (0,0)
# test
candidateps = [
[1,],
range(8),
range(4)+range(3,-1,-1),
range(4)+[0]+range(3,-1,-1),
range(3)+range(4)+[0]+range(3,-1,-1),
[8,3,2,3],
for p in candidateps :
print p, ispalindrome( p )
print p, "max", maxpalindrome( p )
我不確定我所做的是否被認為是遞迴,我也知道[8,3,2,3]應該顯示max(3,1),我的**將其輸出為max(0,0)
任何對我的**的幫助都會有很大的幫助。在
最大回文子串manacher演算法python
關於最大回文子串問題,有兩種處理方法 1.以每個字元為中心,向兩邊尋找回文子串,遍歷整個陣列後,返回最長的。該方法時間複雜度較大為o n 2 2.乙個中等難度的動態規劃演算法 馬拉車 step1 給每個字元左右都加上特殊字元比如 處理後,能使字串s長度為奇 step2 現在的問題變成如何高效求得rl...
python中建立類role 初識Python類
吐槽 學習物件導向就像你追乙個女神一樣,剛剛有點感覺了,過幾天又陷入絕望的感覺,很蛋疼。類的語法 classperson object print learning class test person test就是類person的例項化物件 例項化,就是以person類為模板,在記憶體裡開闢一塊空間...
在python中輸出 在輸出中列印Python版本
如何從指令碼中列印當前python安裝的版本號?嘗試import sys print sys.version 這將列印完整的版本資訊字串。如果您只想要python版本號,那麼bastien l onard的解決方案是最好的。您可能想檢查完整的字串,看看是否需要它或它的一部分。import platf...