当前位置: 首页 > news >正文

算法训练营第五十七天|647. 回文子串 516.最长回文子序列

目录

  • Leetcode647. 回文子串
  • Leetcode516.最长回文子序列

Leetcode647. 回文子串

文章链接:代码随想录
题目链接:647. 回文子串

思路:动态规划

class Solution {
public:int countSubstrings(string s) {vector<vector<bool>> dp(s.size(), vector<bool> (s.size(), 0));int res = 0;for (int i = s.size() - 1; i >= 0; i--){for (int j = i; j < s.size(); j++){if (s[i] == s[j]){if (j - i <= 1) {dp[i][j] = true;res++;}else if (dp[i + 1][j - 1]){dp[i][j] = true;res++;}}cout << dp[i][j] << endl;}}return res;}
};

双指针:

class Solution {
public:int countSubstrings(string s) {int res = 0;for (int i = 0; i < s.size(); i++){res += isSub(i, i, s.size(), s);res += isSub(i, i + 1, s.size(), s);}return res;}int isSub(int i, int j, int end, string& s){int res_tmp = 0;while (i >= 0 && j < end){if (s[i] == s[j]){res_tmp++;i--;j++;}else break;}return res_tmp;}
};

Leetcode516.最长回文子序列

文章链接:代码随想录
题目链接:516.最长回文子序列

思路:dp[i + 1][j - 1] + 2 这里注意相等长度是加2

class Solution {
public:int longestPalindromeSubseq(string s) {vector<vector<int>> dp(s.size(), vector<int>(s.size()));for (int i = 0; i < s.size(); i++) dp[i][i] = 1;for(int i = s.size() - 2; i >= 0; i--){for(int j = i + 1; j < s.size(); j++){if (s[i] == s[j]) dp[i][j] = dp[i + 1][j - 1] + 2;else dp[i][j] = max(dp[i + 1][j], dp[i][j - 1]); }}return dp[0][s.size() - 1];}
};

第五十七天打卡,今天就能把webserver项目视频学完了,加油!!!

相关文章:

  • 252.【2023年华为OD机试真题(C卷)】局域网中的服务器个数(优先搜索(DFS)-JavaPythonC++JS实现)
  • [已解决]504 Gateway Time-out 网关超时
  • 机器学习第一个项目-----鸢尾花及报错解决
  • unity学习笔记----游戏练习06
  • ZigBee学习——浅析协议栈
  • 网络协议与攻击模拟_08DHCP协议
  • Object.prototype.toString.call个人理解
  • Docker数据管理
  • BTC交易模式 - UXTO - 工具整理
  • 鸿蒙开发案例002
  • 数据结构笔记1
  • php 文件上传
  • Docker部署
  • 书生·浦语大模型--第五节课笔记作业--LMDeploy 大模型量化部署实践
  • 美易官方:美国国债收益率扩大跌幅
  • Android单元测试 - 几个重要问题
  • CSS居中完全指南——构建CSS居中决策树
  • Docker入门(二) - Dockerfile
  • golang中接口赋值与方法集
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java 内存分配及垃圾回收机制初探
  • Java程序员幽默爆笑锦集
  • Java的Interrupt与线程中断
  • JSDuck 与 AngularJS 融合技巧
  • Js基础知识(一) - 变量
  • MobX
  • SpiderData 2019年2月13日 DApp数据排行榜
  • STAR法则
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • windows下使用nginx调试简介
  • 对象管理器(defineProperty)学习笔记
  • 高程读书笔记 第六章 面向对象程序设计
  • 官方解决所有 npm 全局安装权限问题
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 学习使用ExpressJS 4.0中的新Router
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • ###C语言程序设计-----C语言学习(3)#
  • #QT(智能家居界面-界面切换)
  • (33)STM32——485实验笔记
  • (4.10~4.16)
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (一) springboot详细介绍
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET 材料检测系统崩溃分析
  • .net 反编译_.net反编译的相关问题