代码随想录训练营Day57| 647. 回文子串 516.最长回文子序列 动态规划总结篇

news/2025/1/16 3:00:10/

目录

学习目标

学习内容

 647. 回文子串  

  516.最长回文子序列


学习目标

  •  647. 回文子串  
  •  516.最长回文子序列
  •  动态规划总结篇

学习内容

 647. 回文子串  

647. 回文子串 - 力扣(LeetCode)icon-default.png?t=N4P3https://leetcode.cn/problems/palindromic-substrings/

class Solution:def countSubstrings(self, s: str) -> int:n = len(s)dp = [[0]*(n+1)for _ in range(n+1)]res = nfor i in range(n,0,-1):for j in range(n+1):if i>=j:dp[i][j]=1elif s[i-1]==s[j-1] and dp[i+1][j-1]:dp[i][j]=1res+=1#print(dp)return res
class Solution:def countSubstrings(self, s: str) -> int:n = len(s)res = 0for i in range(n):left = i-1right = i+1tmp = 1while left>-1 and right<n and s[left]==s[right]:tmp+=1left-=1right+=1res+=tmpfor i in range(n-1):j=i+1left = iright = jtmp = 0while left>-1 and right<n and s[left]==s[right]:tmp+=1left-=1right+=1res+=tmpreturn res

  516.最长回文子序列

516. 最长回文子序列 - 力扣(LeetCode)icon-default.png?t=N4P3https://leetcode.cn/problems/longest-palindromic-subsequence/

class Solution:def longestPalindromeSubseq(self, s: str) -> int:n = len(s)dp = [[0]*(n+1)for _ in range(n+1)]for i in range(n,0,-1):for j in range(n+1):if i>j:continueelif i==j:dp[i][j]=1elif s[i-1]==s[j-1]:dp[i][j]=dp[i+1][j-1]+2else:dp[i][j]=max(dp[i+1][j],dp[i][j-1])#print(dp)return dp[1][n]
class Solution:def longestPalindromeSubseq(self, s: str) -> int:n = len(s)dp = [0]*(n+1)for i in range(n,0,-1):tmp = [0]*(n+1)for j in range(n+1):if i>j:continueelif i==j:tmp[j]=1elif s[i-1]==s[j-1]:tmp[j]=dp[j-1]+2else:tmp[j]=max(dp[j],tmp[j-1])dp = tmp#print(dp)return dp[n]

 problems/动态规划总结篇.md · programmercarl/leetcode-master(代码随想录出品) - Gitee.comicon-default.png?t=N4P3https://gitee.com/programmercarl/leetcode-master/blob/master/problems/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E6%80%BB%E7%BB%93%E7%AF%87.md

 

 


http://www.ppmy.cn/news/145395.html

相关文章

Docker+Jenkins+Gitee+Pipeline部署项目

1.前言 Hello&#xff0c;各位小伙伴大家好。&#x1f604; 在上一篇文章【DockerJenkinsGitee自动化部署maven项目】中&#xff0c;咱们详细介绍了如何自动化部署maven项目&#xff0c;如果说你的项目仅仅为maven项目&#xff0c;那么这种部署方式是很契合的&#xff0c;如果…

LeetCode T509 T16 T33 T34 T36 T41 T43 T48 T49

class Solution:def fib(self, n):if n0:return 0if n1:return 1else:return self.fib(n-1) self.fib(n-2)法一&#xff1a;暴力 class Solution:def threeSumClosest(self, nums, target):n len(nums)if n3:return sum(nums)# 三数和与目标数差值sumClosest 10**4 10**3 …

Python笔记(更新ing)

目录 第一章 Python初识1、什么是编程语言2、第一个Python程序 第二章 基本语法1、 字面量2、 注释3、 变量4、 数据类型5、 数据类型转换6、 标识符7、 运算符8、 字符串扩展9、 字符串拼接10、 字符串格式化11、 字符串格式化的精度控制12、 字符串格式化的方式二13、 对表达…

IBM T43 刷bios 装win7教程

win7时代已经来临&#xff0c;老本(t43 2.0u 2g内存X300独显 100g高速硬盘),经过几天使用win7 感觉运行流畅 发热量 及速度比xp优越&#xff0c;尤其是上网反映很快。所以决定刷新bios安装 OEM win7 。经过数小时bbs潜水&#xff0c;成功刷新&#xff0c;激活win7.此slic表为tp…

T43 修复Win10右键列表中的Microsoft软件

问题&#xff1a; 安装WPS后&#xff0c;发现Win10右键列表中的Microsoft软件丢失。可能是WPS修改了注册列表。如何修复呢&#xff1f; 修复方法&#xff1a; 方法视频&#xff1a; https://www.油管.com/watch?vq_oUeTRUTzo Control Panel\All Control Panel Items\Progr…

T43小黑上安装黑苹果iATKOSv7

看了论坛上几位iPhone大牛的鼓吹&#xff0c;一直想尝试下iPhone开发&#xff0c;但为了开发iPhone就换本有点划不来&#xff0c;况且我的T43小黑用着还不错&#xff0c;决定先装个“黑苹果”试试。 准备工作&#xff1a; 1、升级内存到2G、加装第二块硬盘160G&#xff08;在淘…

IBM T43 国际保存查询

IBM T43 国际保存查询 http://www-307.ibm.com/pc/support/site.wss/document.do?lndocidLOOK-WARNTY

Leetcode典型题解答和分析、归纳和汇总——T43(字符串相乘)

题目描述&#xff1a; 给定两个以字符串形式表示的非负整数num1和num2&#xff0c;返回两个数的乘积&#xff0c;它们的乘积也以字符串的形式表示。 说明&#xff1a; 题目解析&#xff1a; 注意本题不能够直接使用strtoint的整型数转换函数。 而且本题就是一个简单的数学乘法…