LeetCode 647. 回文子串 (动态规划)
647. 回文子串
题意:
- 任意给定一个字符串,计算这个字符串的回文子串个数
解法1(暴力法)
思路:
- 默认回文子串初始个数为字符串长度
- 从子串长度为2—母串长度:找出所有的子串startIndex和endIndex
- 判断子串是否是回文串,是的话count++
class Solution {public int countSubstrings(String s) {// 子串长度int length = 2;// 计数回文子串,默认任意一个字符串的回文子串个数自少等于其长度int count = s.length();while (length <= s.length()) {for(int startIndex = 0; startIndex < s.length(); startIndex++) {int endIndex;if ((endIndex = startIndex + length -1) > s.length() - 1) break;if(isPalindromic(s.substring(startIndex,endIndex + 1))) {count++;}}length++;}return count;}public static boolean isPalindromic(String s) {return s.equals(new StringBuffer(s).reverse().toString());}
}
收获
String类中的截取子串
substring(int beginIndex, int endIndex)
范围是左闭右开判断一个字符串是否是回文串,只需要看它翻转后与原串是否一样
这种暴力法求出所有子串的情况的思路:
(1) 两层循环
(2) 最外层循环:改变子串长度(3) 第二层循环:子串左顶点(startIndex)从左往右移动,右顶点 (endIndex)=startIndex + 子串长度 - 1,只要右顶点超过母串范围就退出这层循环
(4) startIndex和endIndex之间的串即为所有可能的子串情况
LeetCode 647. 回文子串 (动态规划)相关推荐
- 122. Leetcode 647. 回文子串 (动态规划-子序列问题)
步骤一.确定状态: 确定dp数组及下标含义 dp[i][j] 表示的是区间范围[i,j] 的子串是否是回文子串 步骤二.推断状态方程: 在确定递推公式时,就要分析如下几种情况. 整体上是两种,就是s[ ...
- leetcode - 647. 回文子串
647. 回文子串 ------------------------------------------ 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串.具有不同开始位置或结束位置的子串, ...
- 《leetcode : 647. 回文子串 思考分析双指针解法》
647. 回文子串 如何确定是回文串: 找中心然后往两边扩散,判断是否对称即可. 在遍历中心点的时候,注意中心点可以是一个元素也可以是两个元素. class Solution {public:int ...
- Java实现 LeetCode 647 回文子串(暴力)
647. 回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串. 示例 1: 输入: "a ...
- LeetCode 647. 回文子串(DP/中心扩展)
文章目录 1. 题目 2. 解题 2.1 动态规划 2.2 中心扩展法 1. 题目 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组 ...
- Leetcode 647.回文子串
Time: 20190905 Type: Medium 题目描述 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不 ...
- LeetCode 647 回文子串
题目链接:力扣 思路:动态规划 dp[i][j]表示s下标[i:j]的子串是否是回文串,问题转化为只要遍历dp数组,统计true的个数 确定边界情况: ●当i=j时,dp[i][i]表示s下标i到i的 ...
- python回文子串_LeetCode 647. 回文子串 | Python
647. 回文子串 题目 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串. 示例 1: 输入:" ...
- 代码随想录补打卡 647 回文子串 516 最长回文子序列
647 回文子串 代码如下 func countSubstrings(s string) int { //dp[i][j]数组的含义是i-j这个范围的元素是否为回文串 dp := make([] ...
最新文章
- 帝豪gs车机系统wince_吉利新款帝豪GS,内饰升级大双屏,还不涨价,7万多就能买...
- led灯条维修_常见的LED透明屏型号规格,影响LED透明屏价格因素
- 二十万字C/C++、嵌入式软开面试题全集宝典六
- markdowndd
- jQuery.ready() 函数详解
- 程序填充(指针):3数排序_排序算法之快速排序,它为什么这么快?
- 力扣-102. 二叉树的层序遍历
- 深入浅出的理解频谱泄露
- 小米4c android5.1,奇兔刷机全网独家攻破小米4c安卓5.1支持一键刷机ROOT
- 2020十大高薪岗位出炉,程序员霸榜
- altera Cyclone V再认识
- nosqlbooster 延长试用日期
- 高盛报告:长远看中国网游前景不如门户
- 2022“美亚杯”第八届中国电子数据取证大赛-团队赛题目
- 2023 最新 抖音AI换脸表情包小程序变现玩法项目
- 算法很美 将整数的奇偶位互换
- 【数据结构】7-1 软硬车厢交替排列 (13 分)
- [SHOI2008]小约翰的游戏John(博弈+SJ定理)
- SR(稀疏表示)人脸识别
- 中国手术标记笔市场趋势报告、技术动态创新及市场预测
热门文章
- java中的过滤器与监听器
- codeforces C. Sonya and Problem Wihtout a Legend(dp or 思维)
- Codeforces Round #249 (Div. 2) (模拟)
- 在delphi原有控件基础上画图
- go-基础知识二-数据类型-变量
- [数据结构与算法] (顺序)线性表简单demo程序
- 网络协议从入门到底层原理(2)路由、网络常见概念(因特网, ISP, 接口, 上网方式)、公网私网、NAT
- SELinux系列(二)——SELinux有什么作用
- Linux 搜索 查找find命令 详解
- android随机抽奖代码_用Excel实现不放回随机抽样