Java数据结构与算法(最长回文子串暴力算法)

前言

回文子串是练习数据结构和算法比较好的使用场景,可以同时练习到双指针、动态规划等一些列算法。

实现原理

优先暴力算法实现。这里定义最长回文子串长度的大小为maxLen,起点位置为0.

暴力循环过程中发现maxLen有所增长则更新maxLen和begin。

validCicle用于每次暴力循环中判断是否是回文子串。采用首尾双指针移动方式。

具体代码实现

java 复制代码
class Solution {
    public String longestPalindrome(String s) {

        int maxLen=1;
        int begin=0;
        char[] charArray=s.toCharArray();
        for(int i=0;i<charArray.length-1;i++){
            for(int j=i+1;j<charArray.length;j++){
                if(j-i+1>maxLen&&validCicle(charArray,i,j)){
                    maxLen=j-i+1;
                    begin=i;
                }
            }
        }
        return s.substring(begin,begin+maxLen);
    }

    public boolean validCicle(char[] charArray,int left,int right){
        while(left<right){
            if(charArray[left]==charArray[right]){
                left++;
                right--;
            }else{
                return false;
            }
        }
        return true;
    }
}

QA:待定

相关推荐
一方热衷.20 小时前
YOLO26-Seg ONNXruntime C++/python推理
开发语言·c++·python
靓仔建21 小时前
Vue3导入组件出错does not provide an export named ‘user_setting‘ (at index.vue:180:10)
开发语言·前端·typescript
HalvmånEver1 天前
7.高并发内存池大页内存申请释放以及使用定长内存池脱离new
java·spring boot·spring
凤山老林1 天前
SpringBoot 使用 H2 文本数据库构建轻量级应用
java·数据库·spring boot·后端
赶路人儿1 天前
UTC时间和时间戳介绍
java·开发语言
dreamread1 天前
【SpringBoot整合系列】SpringBoot3.x整合Swagger
java·spring boot·后端
6+h1 天前
【java】基本数据类型与包装类:拆箱装箱机制
java·开发语言·python
一直都在5721 天前
Spring面经
java·后端·spring
xiaoye37081 天前
如何在Spring中使用注解配置Bean的生命周期回调方法?
java·spring
闻哥1 天前
深入Redis的RDB和AOF两种持久化方式以及AOF重写机制的分析
java·数据库·spring boot·redis·spring·缓存·面试