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

news2024/11/28 22:51:54

目录

学习目标

学习内容

 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 = n
        for i in range(n,0,-1):
            for j in range(n+1):
                if i>=j:
                    dp[i][j]=1
                elif s[i-1]==s[j-1] and dp[i+1][j-1]:
                    dp[i][j]=1
                    res+=1
        #print(dp)
        return res
class Solution:
    def countSubstrings(self, s: str) -> int:
        n = len(s)
        res = 0
        for i in range(n):
            left = i-1
            right = i+1
            tmp = 1
            while left>-1 and right<n and s[left]==s[right]:
                tmp+=1
                left-=1
                right+=1
            res+=tmp
        for i in range(n-1):
            j=i+1
            left = i
            right = j
            tmp = 0
            while left>-1 and right<n and s[left]==s[right]:
                tmp+=1
                left-=1
                right+=1
            res+=tmp
        return 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:continue
                elif i==j:dp[i][j]=1
                elif s[i-1]==s[j-1]:
                    dp[i][j]=dp[i+1][j-1]+2
                else:
                    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:continue
                elif i==j:tmp[j]=1
                elif s[i-1]==s[j-1]:
                    tmp[j]=dp[j-1]+2
                else:
                    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.coloradmin.cn/o/597632.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3.部署 Stable Diffusion(SD)

部署Stable Diffusion webui方式: 本地部署:在自己的电脑上安装(官方脚本部署、懒人包部署(文末自取)) 云端部署:在远程服务上运行(免费有时长限制、可付费租用GPU) 两种部署方式哪种都可以,看需选择。如果有性能比较不错的的显卡,那么可以考虑本地部署。如果是没…

java养老院老年人档案管理系统springboot+vue

本居家养老系统管理员和工作人员两个角色。管理员功能有个人中心&#xff0c;老人账号管理&#xff0c;工作人员管理&#xff0c;老人档案管理&#xff0c;订单申请管理&#xff0c;检查检验项目管理&#xff0c;维修服务管理&#xff0c;订单信息管理&#xff0c;转诊信息管理…

一文简述低代码到底是什么?

在进入正文之前&#xff0c;有必要给大家拨正一个误区&#xff1a; “开发≠写代码” 由于现在低代码&零代码产品在宣传过程中着重强调“公民开发”这一概念&#xff0c;我们随便点开一篇相关文章章&#xff0c;必定会有一句&#xff1a;“人人都是开发者&#xff0c;无需…

计算机中丢失MSVCP140.dll无法启动此程序怎么办

MSVCP140.dll是Microsoft Visual C Redistributable文件中的一个动态链接库文件&#xff0c;它是Microsoft Visual Studio 2015和2017中的一部分。它包含一组选项卡&#xff0c;其中包含C/C开发所需的库。该文件通常位于计算机的Windows/System32目录中&#xff0c;它提供了用于…

Vue2——入门(适合后端程序员看)

Vue组件 Vue 的组件文件以 .vue 结尾&#xff0c;每个组件由三部分组成 <template></template><script></script><style></style> template 模板部分&#xff0c;由它生成 html 代码 script 代码部分&#xff0c;控制模板的数据来源和行…

30天从入门到精通TensorFlow1.x 第二天,变量 tf.Variable()

文章目录 一&#xff0c;接前一天&#xff08;1&#xff09;.内容前先弄清楚 sess.run() 函数a. 该函数干嘛的b. 该函数有哪些参数c. 该函数的使用 &#xff08;2&#xff09;.由库函数创建张量&#xff08;3&#xff09;.由库函数创建张量 二、变量tf.Variable()&#xff08;1…

git在一台电脑上配置不同的仓库(多个gitee仓库、或者不同的github仓库)

前言 在开发过程中&#xff0c;我们工作的时候难免会使用到两个不同的仓库&#xff0c;但是正常来说一电脑默认一个参考&#xff0c;直接会用全局命令 git config --global user.name "yourName"但是这样只能配置一个仓库了&#xff0c;本文介绍在一台电脑上配置多…

跟着LearnOpenGL学习5--纹理

文章目录 一、前言二、纹理映射三、纹理环绕方式四、纹理过滤五、多级渐远纹理六、加载与创建纹理七、生成纹理八、应用纹理九、完整代码9.1、工程结构9.2、纹理图片9.3、stb_image.cpp9.4、顶点着色器9.5、片段着色器9.6、main.cpp 十、纹理颜色与顶点颜色混合十一、纹理单元 …

Python系列模块之pymysql操作MySQL 数据库

目录 一、安装pymysql 二、连接数据库 三、数据库操作 3.1 查询 3.2 更新 3.3 使用循环批量更新 Python 系列文章学习记录&#xff1a; Python系列之Windows环境安装配置_开着拖拉机回家的博客-CSDN博客 Python系列之变量和运算符_开着拖拉机回家的博客-CSDN博客 Pyt…

JavaWeb13(ajax01)

目录 一. 什么是ajax 二.为什么需要AJAX? 三. 同步和异步的区别. 四.基于jQuery实现AJAX语法 4.1 语法1-$.ajax(url,[settings]). 4.1 语法2-$.get/post(url, [data], [callback], [type]). 五 .案例 5.1 ajax实现登录 ①html代码 用户登录 用户名&#xff1a; 密码…

Linux安装VNC(Linux桌面版远程)

一、Linux安装VNC服务 适用于CentOS7 #检查系统没有装GUI界面 rpm -qa | grep gnomeyum -y groupinstall "X Window System" yum -y groupinstall "GNOME Desktop"#安装VNC yum install tigervnc tigervnc-server -y检查开机运行级别 systemctl get-defa…

Shell脚本攻略:数组

目录 一、理论 1.数组概述 2.定义数组 3.数组打印 4.数组的数据类型及处理 5.数组赋值 6.数组遍历 7.数组切片 8.数组替换 9.删除数组 10.追加数组中的元素 11.数组排序算法 二、实验 1.实验一 2.实验二 3.实验三 一、理论 1.数组概述 数组是Shell的一种特殊变…

MySQL InnoDB缓存池

缓存池的作用 缓存表数据与索引数据&#xff0c;把磁盘上的数据加载到缓冲池&#xff0c;避免每次访问都进行磁盘IO&#xff0c;起到加速访问的作用。 为什么不把所有数据放到缓冲池中 凡事都具备两面性&#xff0c;抛开数据易失性不说&#xff0c;访问快速的反面是存储容量…

MongoDB 基本概念

MongoDB 部署模型 在生产环境中&#xff0c;MongoDB 经常会部署成一个三节点的复制集&#xff0c;或者一个分片集群。 我们先来看左边&#xff0c;当 MongoDB 部署为一个复制集时&#xff0c;应用程序通过驱动&#xff0c;直接请求复制集中的主节点&#xff0c;完成读写操作。另…

前端学习(DAY51)面试1

组件中的 data 为什么是一个函数&#xff1f; 如果 data 是对象的话&#xff0c;当数据改动时就会影响到所有的实例&#xff0c;可能会造成一些数据的冲突。 HTTP http&#xff1a;以安全为目标的http通道&#xff0c;HTTPs是以安全为目标的https通道&#xff08;使用SSL进…

Linux--ServerProgramming--(3)详解高性能服务器程序框架

1. 服务器框架详解 1.1 服务器模型 1.1.1 C/S 模型 此模型很简单&#xff0c;就是服务器和客户端。 此模型 非常适合资源相对集中的场合。 缺点&#xff1a;因为服务器是通信的中心&#xff0c;当访问量过大时&#xff0c;可能所有的客户都将得到很慢的响应。此缺点可由 P2P…

利用PHP导出MySQL数据表结构和SQL文件

目录 一、获取数据库所有的数据表 方法一&#xff1a;TP5 方法二:原生PHP 二、导出指定数据表的数据结构 三、 导出SQL文件 四、生成SQL语句 五、完整代码 前端 后端 语言&#xff1a;PHP 数据库&#xff1a;MySQL 功能&#xff1a;分为四部分&#xff0c;① 查出数…

智大数据比赛的总结

强国杯个人赛一定要报 hive 和hadoop基础环境配置 开启单节点集群环境 (0 / 10 分) 本次使用环境为单节点集群,对应主机名为hadoop000,使用工具连接对应主机并进行相关操作。 环境中已经安装java、Hadoop、Hive、Mysql并配置对应环境变量,安装路径为/root/software/,对应…

通过python采集关键字搜索1688工厂数据接口,1688工厂数据接口,1688API接口

1688是一个行业网站&#xff0c;主要提供中小型批发和生产商的信息&#xff0c;是中国供应商向全球采购商展示其产品的平台。在1688上&#xff0c;可以找到许多工厂和制造商的信息&#xff0c;包括公司名称、地址、联系人、联系方式、主要产品等。 采集1688工厂数据可以帮助采…

MySQL数据库 2.启动与停止

目录 ​编辑 &#x1f914; 启动与停止&#xff1a; &#x1f642;1.WIN加R调用windows命令行&#xff0c;输入&#xff1a;services.msc &#x1f642;2.可以在cmd&#xff08;管理员模式&#xff09;中输入以下指令&#xff1a; &#x1f914; 启动MySQ后的操作步骤&…