91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3最長回文子串算法示例

發布時間:2020-09-12 10:24:26 來源:腳本之家 閱讀:115 作者:gxnustc 欄目:開發技術

本文實例講述了Python3最長回文子串算法。分享給大家供大家參考,具體如下:

1. 暴力法

思路:對每一個子串判斷是否回文

class Solution:
  def longestPalindrome(self, s):
    """
    :type s: str
    :rtype: str
    """
    if len(s) == 1:
      return s
    re = s[0]
    for i in range(0,len(s)-1):
      for j in range(i+1,len(s)):
        sta = i
        end = j
        flag = True
        while sta < end:
          if s[sta] != s[end]:
            flag = False
            break
          sta += 1
          end -= 1
        if flag and j-i+1 > len(re):
          re = s[i:j+1]
    return re

提交結果:超出時間限制

2. 動態規劃法

思路:

m[i][j]標記從第i個字符到第j個字符構成的子串是否回文,若回文值為True,否則為False.

初始狀態 s[i][i] == True,其余值為False.

當 s[i] == s[j]  and m[i+1][j-1] == True 時,m[i][j] = True

class Solution:
  def longestPalindrome(self, s):
    """
    :type s: str
    :rtype: str
    """
    k = len(s)
    matrix = [[False for i in range(k)] for j in range(k)] 
    re = s[0:1]
    for i in range(k):
      for j in range(k):
        if i==j:
          matrix[i][j] = True
    for t in range(1,len(s)):       #分別考慮長度為2~len-1的子串(長串依賴短串的二維數組值)
      for i in range(k):
        j = i+t
        if j >= k: 
          break
        if i+1 <= j-1 and matrix[i+1][j-1]==True and s[i] == s[j]:
          matrix[i][j] = True
          if t+1 > len(re):
            re = s[i:j+1]
        elif i+1 == j and j-1 == i and s[i] == s[j]:
          matrix[i][j] = True
          if t+1 > len(re):
            re = s[i:j+1]
    return re

執行用時:8612 ms

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赞皇县| 灵台县| 夹江县| 仙游县| 浦城县| 孟连| 浦北县| 札达县| 江油市| 淳安县| 宁安市| 会泽县| 永嘉县| 柳州市| 抚宁县| 桃江县| 莎车县| 淮北市| 龙山县| 明星| 牡丹江市| 湖北省| 成都市| 子长县| 原平市| 高邑县| 镇巴县| 吴旗县| 吴川市| 赣州市| 铁岭市| 和政县| 竹北市| 大邑县| 绩溪县| 承德县| 沙坪坝区| 濉溪县| 花莲市| 吉首市| 道真|