亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

改進搜索回文的腳本

改進搜索回文的腳本

守候你守候我 2024-01-15 21:35:11
我怎樣才能讓它更好/更高效/優雅?該腳本運行沒有問題,但也許有辦法改進它?def isPalindrome(q):   first = 0   second  = len(q)-1   for symbols in q:       while first != len(q)-1:           if q[first] != q[second]:               return False           else:               first += 1               second -=1       if first == len(q)-1:           return True
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

>>> q = "abba"

>>> q == q[::-1]

True

您還可以使用遞歸:


def isPalindrome(text):

    if text:

        return text[0] == text[-1] and isPalindrome(text[1:-1])

    else:

        return True

您始終可以使用以下方法timeit來衡量效率:


>>> setup = """

... def isPalindrome(text):

...         if text:

...             return text[0] == text[-1] and isPalindrome(text[1:-1])

...         else:

...             return True

...

...

... def isPalindrome2(text):

...     return text == text[::-1]

...

... """

>>> timeit.timeit('isPalindrome("amanaplanacanalpanama")', setup=setup)

4.524680453999963

>>> timeit.timeit('isPalindrome2("amanaplanacanalpanama")', setup=setup)

0.33293550200005484


查看完整回答
反對 回復 2024-01-15
  • 1 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號