Leetcode 647. 回文子串

news/2024/11/24 12:12:17/
  • Leetcode 647. 回文子串
  • 题目
    • 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。
    • 回文字符串 是正着读和倒过来读一样的字符串。
    • 子字符串 是字符串中的由连续字符组成的一个序列。
    • 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。
    • 1 <= s.length <= 1000
    • s 由小写英文字母组成
  • 解法
    • 中心扩展:以每个元素为中心向两边扩展,还可以两个元素之间的间隙为中心,暴力求回文个数,中心个数为 2*len-1,
    • 分为两种情况:(i,i)(i-1,i+1)(i-2,i+2)与(i,i+1)(i-1,i+2)(i-2,i+3)
    • 时间复杂度:O(n*n),空间复杂度:O(1)
  • 代码
    /*** 中心扩展:以每个元素为中心向两边扩展,还可以两个元素之间的间隙为中心,暴力求回文个数,中心个数为 2*len-1,* 分为两种情况:(i,i)(i-1,i+1)(i-2,i+2)与(i,i+1)(i-1,i+2)(i-2,i+3)* 时间复杂度:O(n*n),空间复杂度:O(1)*/private int solution(String s) {// 判空if (s == null || s.length() <= 0) {return 0;}int res = 0;int len = s.length();// 以每个元素为中心向两边扩展,还可以两个元素之间的间隙为中心,暴力求回文个数,中心个数为 2*len-1int centerNum = 2 * len - 1;for (int center = 0; center < centerNum; center++) {int i = center >> 1;// 两种情况:(i,i)(i-1,i+1)(i-2,i+2)与(i,i+1)(i-1,i+2)(i-2,i+3)int left = i;int right = i + (center & 1);
//            System.out.println(left + " : " + right);while (left >= 0 && right < len && s.charAt(left) == s.charAt(right)) {res++;left--;right++;}}return res;}

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

相关文章

NodeJS安装教程(详细)

系列文章 MySQL安装教程&#xff08;详细&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/126037520 MySQL卸载教程&#xff08;详细&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/129279265 …

Android 之保护用户隐私-禁止应用截屏或录频

引言 通常情况下&#xff0c;录屏、截图软件都可以在手机的运行过程中进行录屏、截图&#xff0c;但是在某些比较敏感的应用上&#xff0c;出于各种原因&#xff0c;会阻止录屏、截图软件进行运行。一旦录屏、截图软件被阻止运行就无法使用录屏以及截屏的功能。 使用 设置禁止…

3合1锂电便携式风扇IC

产品型号 输入 电压 最大 充电 电流 电机 类型 充电 截止 电压 精度 涓流 充电 截止 电压 功耗 封装 特点 HM5936 4.3 -5.5V 600mA 6V 4.2V 1% 2.9V 30uA SOP-16 带锂电保护,DC-DC升压限流,带充电指示及满电指示 带3LED指示锂电池电量,内置3档可调节风量控制…

微服务、SpringBoot、SpringCloud 三者的区别

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

hive表小文件合并

1. 背景 公司的 hive 表中的数据是通过 flink sql 程序&#xff0c;从 kafka 读取&#xff0c;然后写入 hive 的&#xff0c;为了数据能够被及时可读&#xff0c;我设置了 flink sql 程序的 checkpoint 时间为 1 分钟&#xff0c;因此&#xff0c;在 hive 表对应的 hdfs 上&am…

elasticsearch 明明有index但是查不出来

最近用python去query elastricsearch的data&#xff0c;但是我再kibana明明看到有&#xff0c;但是就是查不出来 因为涉及公司隐私&#xff0c;就不截图直接举例子了&#xff0c;我在 discover里面看到的是某条数据的index是 xxx-sss-a-b&#xff0c;但是我写query是xxx-sss-a-…

kali 安全/运维 开源教程2022

计划制定 简单概述 1 学哪个 学什么 怎么学 首先技术不是被贬值或者说是淘汰 而是每隔一段时间都会出现新的技术 旧技术不会沦落至消失 而是变成基础 或者被打包成一个集成环境 从汇编到c 再到现如今的各种开发语言 发明新技术是为了更好的提高旧环境的工作效率 而现如今pyt…

2022最新python100个实战练手项目,【附源码】,快来学习起来吧!

Python是目前最好的编程语言之一。由于其可读性和对初学者的友好性&#xff0c;已被广泛使用。那么要想学会并掌握Python&#xff0c;可以实战的练习项目是必不可少的。 接下来&#xff0c;我将给大家介绍20个非常实用的Python项目&#xff0c;帮助大家更好的学习Python。大家…