最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python3最長回文子串算法示例

 更新時間:2019年03月04日 11:12:38   作者:gxnustc  
這篇文章主要介紹了Python3最長回文子串算法,結(jié)合實例形式分析了暴力算法及動態(tài)規(guī)劃算法判斷最長回文子串的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了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

提交結(jié)果:超出時間限制

2. 動態(tài)規(guī)劃法

思路:

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

初始狀態(tài) 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的子串(長串依賴短串的二維數(shù)組值)
      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

執(zhí)行用時:8612 ms

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程

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

相關(guān)文章

  • python3?queue多線程通信

    python3?queue多線程通信

    這篇文章主要介紹了python3?queue多線程通信,??Queue???對象已經(jīng)包含了必要的鎖,所以你可以通過它在多個線程間多安全地共享數(shù)據(jù),更多相關(guān)內(nèi)容需要的朋友可以參考一下下文文章內(nèi)容
    2022-07-07
  • python爬蟲指南之xpath實例解析(附實戰(zhàn))

    python爬蟲指南之xpath實例解析(附實戰(zhàn))

    在進行網(wǎng)頁抓取的時候,分析定位html節(jié)點是獲取抓取信息的關(guān)鍵,目前我用的是lxml模塊,下面這篇文章主要給大家介紹了關(guān)于python爬蟲指南之xpath實例解析的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • 一文讀懂python Scrapy爬蟲框架

    一文讀懂python Scrapy爬蟲框架

    這篇文章主要介紹了一文讀懂python Scrapy爬蟲框架的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • python 實現(xiàn)將小圖片放到另一個較大的白色或黑色背景圖片中

    python 實現(xiàn)將小圖片放到另一個較大的白色或黑色背景圖片中

    今天小編就為大家分享一篇python 實現(xiàn)將小圖片放到另一個較大的白色或黑色背景圖片中,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python線程里哪種模塊比較適合

    python線程里哪種模塊比較適合

    在本篇文章里我們給大家整理了關(guān)于python線程里哪種模塊比較適合的相關(guān)知識點,需要的朋友們可以學(xué)習(xí)下。
    2020-08-08
  • Python實現(xiàn)通訊錄功能

    Python實現(xiàn)通訊錄功能

    這篇文章主要為大家詳細介紹了Python實現(xiàn)通訊錄功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • python讀取.mat文件及將變量存為.mat文件的詳細介紹

    python讀取.mat文件及將變量存為.mat文件的詳細介紹

    這篇文章主要給大家介紹了關(guān)于python讀取.mat文件及將變量存為.mat文件的詳細介紹,?mat文件是matlab的數(shù)據(jù)存儲的標準格式,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-06-06
  • Python字符串處理實現(xiàn)單詞反轉(zhuǎn)

    Python字符串處理實現(xiàn)單詞反轉(zhuǎn)

    這篇文章主要為大家詳細介紹了Python字符串處理實現(xiàn)單詞反轉(zhuǎn)的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Pytorch數(shù)據(jù)拼接與拆分操作實現(xiàn)圖解

    Pytorch數(shù)據(jù)拼接與拆分操作實現(xiàn)圖解

    這篇文章主要介紹了Pytorch數(shù)據(jù)拼接與拆分操作實現(xiàn)圖解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Python實現(xiàn)隨機生成算術(shù)題的示例代碼

    Python實現(xiàn)隨機生成算術(shù)題的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)隨機生成算術(shù)題的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04

最新評論

丹阳市| 惠州市| 迭部县| 武汉市| 巨野县| 岫岩| 金堂县| 赫章县| 六盘水市| 威海市| 白银市| 平罗县| 绥阳县| 铜陵市| 高要市| 许昌市| 五河县| 怀仁县| 兴安县| 丰都县| 邛崃市| 腾冲县| 仪征市| 攀枝花市| 泰顺县| 辽源市| 南宁市| 深泽县| 巴林左旗| 图木舒克市| 昌江| 景宁| 武乡县| 彭水| 盈江县| 泽普县| 永清县| 大渡口区| 万年县| 江川县| 信阳市|