最长回文子串Python解法
给你一个字符串 s
,找到 s
中最长的回文子串。
列:
输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。
# 解析:对每一个字符由中心像两边判断,当两边不相等时返回最后一次相等时的下标。
class Solution(object):def longestPalindrome(self, s):""":type s: str:rtype: str"""n = len(s) # 原字符串长度def Palindrome(l, r): # 回文函数(左下标,右下标)while l >= 0 and r < n and s[l] == s[r]: # 当左下标大于0右下标小于n并且左右下标所对应的值相等l -= 1 # 左下标左移一位r += 1 # 右下标右移一位return l+1, r-1 # 当不满足条件时,返回上一次满足条件的下标left, right = 0, 0 # 初始化最后需要返回的最终下标值for i in range(n): # 对每个字符进行遍历l_1, r_1 = Palindrome(i, i) # 中心对称回文判断l_2, r_2 = Palindrome(i, i+1) # 镜面对称回文判断if r_1 - l_1 > right - left: # 找出中心对称回文最大值left, right = l_1, r_1 # 存储最大值下标if r_2 - l_2 > right - left: # 找出镜面对称回文以及两者最大值left, right = l_2, r_2 # 存储最大值下标return s[left : right +1] # 返回对应下标对应的字符子串
最长回文子串Python解法相关推荐
- LeetCode 5. Longest Palindromic Substring 最长回文子串 Python 四种解法(Manacher 动态规划)
Longest Palindromic Substring 最长回文子串 学习笔记 1. Brute method 第一种方法:直接循环求解,o(n2)o(n^2) class Solution:de ...
- leetcode--最长回文子串--python
文章目录 题目 题目详情 示例 解题思路 思路 代码 运行结果 最佳方案 题目 题目详情 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 输入: &qu ...
- python求回文_python实现求最长回文子串长度
给定一个字符串,求它最长的回文子串长度,例如输入字符串'35534321',它的最长回文子串是'3553',所以返回4. 最容易想到的办法是枚举出所有的子串,然后一一判断是否为回文串,返回最长的回文子 ...
- 5. 最长回文子串——暴力法---动态规划解法---扩展中心法
暴力法 动态规划解法 class Solution {public String longestPalindrome(String s) {if (s == null) return null;cha ...
- python 面试题 aac caa相似_经典面试题:最长回文子串
回文串是面试常常遇到的问题(虽然问题本身没啥意义),本文就告诉你回文串问题的核心思想是什么. 首先,明确一下什:回文串就是正着读和反着读都一样的字符串. 比如说字符串aba和abba都是回文串,因为它 ...
- Python最长回文子串
1.暴力解法(Brute Method) 暴力求解是最容易想到的,要截取字符串的所有子串,然后再判断这些子串中哪些是回文的,最后返回回文子串中最长的即可. 这里我们可以使用两个变量,一个 ...
- 最长回文子串(多种解法,附马拉车算法)
目录 •写在前面 •题目 •解法一 暴力破解 •解法二 暴力优化 •解法三 最长公共子串(动态规划整体) •解法四 中心扩展法 •解法五 马拉车算法 •结束 •写在前面 这种类型的题目算是比 ...
- python【力扣LeetCode算法题库】5- 最长回文子串
5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab&quo ...
- LeetCode5-最长回文子串原理及Python实现
LeetCode5(medium)-最长回文子串 题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 思路 中心扩展法 遍历字符串,依次把每个字符作为中心. ...
最新文章
- 神经网络“天生”就会驾驶虚拟赛车
- android数据存储方式(三)----Files
- 论文笔记:Spatial-Temporal Map Vehicle Trajectory Detection Using Dynamic Mode Decomposition and Res-UNe
- 数学教师计算机能力提升,数学教师信息技术应用能力提升培训总结.doc
- 【数理统计】概率论基础回顾
- IIS 7.5 Express概况
- Hello Android
- itchat没了咱们还可以用Python的wxpy模块来玩转微信
- 安装配置 TensorFlow on Android
- 执行命令行并等待完成
- hive查看表中列的信息命令_走近大数据之Hive入门(四、Hive的管理)
- pe下找不到ssd硬盘_进入PE系统之后找不到固态硬盘
- what is CPU capacity-什么是CPU容量
- 招5000人!美团2023届校园招聘全面启动
- 计算机更新好不,Win10自动更新好不好有必要吗?如何关闭屏蔽Windows更新?
- 软件测试 (4)Linux命令
- 强化学习笔记1:Multi-armed Bandits
- [游戏] 星际争霸2:一个新的传奇?
- Java NIO简介
- 用户登录.html_河南省中小学教师继续教育管理系统登录入口http://47.92.44.63:89/
热门文章
- 通过单步调试的方式学习 Angular 中带有选择器的内容投影使用方式
- 什么是 SAP Spartacus UI 的 code deprecation
- SAP Spartacus layoutSlots ID 和 CMSComponent 的映射关系
- 自定义SAP Spartacus Cart界面
- TypeScript的class关键字
- Angular里的structural directive的一个例子
- 从HTTP 400 bad request说起 - 一个函数被注释掉后引起的血案
- SAP CRM get_children 方法里面参数 iv_as_copy 有什么用?
- 要让Fiddler能够监控加密过后的HTTPS请求,需要执行哪些步骤?
- pageSet的底层数据库存储逻辑