首页 > 编程语言 >[Python手撕]最长回文子串

[Python手撕]最长回文子串

时间:2024-09-18 11:04:25浏览次数:1  
标签:子串 right return Python max len str 回文

class Solution:
    def longestPalindrome(self, s: str) -> str:

        n = len(s)

        def find(i, j):
            if i != j and s[i] != s[j]:
                return 0,-1

            while (
                0 <= i <= n -1
                and 0 <= j <= n -1
                and s[i] == s[j]
                and 0 <= i - 1 <= n -1
                and 0 <= j + 1 <= n -1
                and s[i - 1] == s[j + 1]
            ):
                i -= 1
                j += 1
            return i,j

        index = 0
        max_len = 1
        res = s[0]
        while index<=n-1:
            left = floor(index)
            right = ceil(index)
            left,right = find(left,right)
            if right - left + 1 > max_len:
                res = s[left:right+1]
                max_len = right - left + 1
            index += 0.5
        
        return res

标签:子串,right,return,Python,max,len,str,回文
From: https://www.cnblogs.com/DCFV/p/18418090

相关文章

  • [Python手撕]最小覆盖子串
    classSolution:defminWindow(self,s:str,t:str)->str:defjudge(map_p,map_q):forkey,valueinmap_q.items():ifmap_p.get(key,0)<value:returnFalsereturnTrue......
  • 【python爬虫案例】利用python爬取豆瓣电影TOP250评分排行数据!
    一、爬取对象-豆瓣电影TOP250今天给大家分享一期豆瓣读书TOP排行榜250的python爬虫案例爬取的目标网址是:https://movie.douban.com/top250咱们以目标为驱动,以兴趣为导向,先来看下爬虫程序运行后得到的excel文档数据那代码是如何实现豆瓣电影TOP250数据爬取的了?下面逐一讲解一......
  • python 冒号(:)的使用
    Python是一种流行的编程语言,其中一个非常独特的语法特点是使用冒号(:)来表示代码块。这个冒号语法在Python中起到了类似于Java中分号的作用,用于定义一个可执行的代码块。在这个代码块中,可以使用冒号来定义变量、函数和类等元素。同时,冒号在Python中还具有另一种特殊的用法,即冒号等......
  • 五个python常用运维脚本
    一、用Python写一个列举当前目录以及所有子目录下的文件,并打印出绝对路径#!/usr/bin/env pythonimportosforroot,dirs,filesin os.walk('/tmp'):  fornameinfiles:    print(os.path.join(root,name))os.walk()原型为:os.walk(top,topdown=True,onerror=None......
  • windows定时执行python程序
    先写个bat脚本,执行Python程序::根据实际情况修改Python解释器的路径setPYTHON=D:\python\python.exesetCODE_DIR=D:\code\projectcd/d"%CODE_DIR%"::启动Python程序echoRunningmain.py...%PYTHON%main.py>nohup.log2>&1echoAllscriptscomplete......
  • OpenCV Python 深度指南
    OpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉库,它包含了大量的图像处理和机器视觉算法。OpenCV支持多种编程语言,包括C++和Python,其中Python接口因其易用性和灵活性而受到广泛欢迎。本指南将覆盖以下几个方面:OpenCV简介OpenCV安装与配置图像基础视频......
  • Python OpenCV精讲系列 - 高级图像处理技术(七)
    ......
  • Python 进阶 03 网络编程
    网络编程概述网络编程,又称套接字编程(Socket编程),是实现不同计算机上运行的程序间进行数据交互的关键技术。它允许程序通过网络发送和接收数据,无论这些程序是运行在同一台机器上还是分布在不同地理位置的计算机上。网络编程是现代软件开发中不可或缺的一部分,广泛应用于Web开发、......
  • 基于python+Django的学生成绩管理系统(源码+vue+前后端分离)
    收藏关注不迷路!!......
  • 10_Python流程控制_循环
    循环循环是控制程序重复执行特定代码块的关键结构。Python提供了几种不同的循环结构,以满足不同的编程需求。While循环while循环会重复执行一个代码块,只要指定的条件为真。适用情况:不清楚具体的循环次数,或者当条件一直为真时一般用while。注意:条件中的变量在while迭代......