当前位置:首页 » 《随便一记》 » 正文

【算法】L2-008 最长对称子串 (25 分)Java,字符串典型例题_m0_57099044的博客

17 人参与  2022年04月03日 09:27  分类 : 《随便一记》  评论

点击全文阅读


L2-008 最长对称子串 (25 分)

对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。

输入格式:

输入在一行中给出长度不超过1000的非空字符串。

输出格式:

在一行中输出最长对称子串的长度。

输入样例:

Is PAT&TAP symmetric?

结尾无空行

输出样例:

11

结尾无空行

这是一个典型的动态规划题

解法:

1:初始化一个dp表格,表格的行表示子串的头下表,表格的列表示子串的尾下标。故对角线上的值都为true

2:对表格的上三角进行列遍历,自左上向右下。若子串的长度为2时,第一个字符与第二个字符相当那么dp[i][j]=true。若长度大于2时,当s[i][j]相等时还需要对中间的子串进行判断。如图中的dp[0][4],需要判断dp[1][3]是否为true。


import java.util.Scanner;

/**
 * L2-008 最长对称子串 (25 分)
 * 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。
 *
 * 输入格式:
 * 输入在一行中给出长度不超过1000的非空字符串。
 *
 * 输出格式:
 * 在一行中输出最长对称子串的长度。
 *
 * 输入样例:
 * Is PAT&TAP symmetric?
 * 结尾无空行
 * 输出样例:
 * 11
 */
public class L2_008 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String s=sc.nextLine();
        System.out.println(longest(s));
    }
    public static int longest(String s){
        int n=s.length();
        if(s.length()<2)return n;
        int count=1;
        boolean dp[][]=new boolean[n][n];
        //初始化对角线上的单个子串为true
        for(int i=0;i<n;i++){
            dp[i][i]=true;
        }
        char[] chars = s.toCharArray();
        //自左上向右下遍历
        //i表示子串的头,j表示子串的尾
        for(int j=0;j<n;j++){
            for(int i=0;i<j;i++){
                //若
            if(chars[i]!=chars[j])dp[i][j]=false;
            else {
                if(j-i<2)dp[i][j]=true;
                else dp[i][j]=dp[i+1][j-1];
            }
            if(dp[i][j]==true){
                count=Math.max(count,j-i+1);
            }
            }
        }

        return count;
    }

}

 

 

 


点击全文阅读


本文链接:http://zhangshiyu.com/post/37206.html

对称  输出  最长  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 难渡红尘,爱恨随风去小说精彩章节免费试读_陆梨初徐慕凡陆总章节世界观揭秘篇‌
  • 黄泉情难渡爽文(叶北宸凤念安),黄泉情难渡爽文
  • [夫人她要对暗号,世子他在***]小说精彩节选试读_[舒妗月洛知珩]章节彩蛋限时释出‌
  • 全书浏览小姑子要重新养一遍自己,让我给她买百万豪车(江梦瑶林霜)_小姑子要重新养一遍自己,让我给她买百万豪车(江梦瑶林霜)全书结局
  • 人面桃花长相忆纯净版(阮雾梨闻砚辞)全书免费_(阮雾梨闻砚辞)人面桃花长相忆纯净版后续(阮雾梨闻砚辞)
  • 等风等雨等不到你现已上架(夏语栀祁墨寒许青瑶)_等风等雨等不到你现已上架
  • 别后不知君回首(程十安傅临州)_别后不知君回首
  • 顾书程江仪(第九十九次被绑架失忆后,我觉醒了+后续+结局)_顾书程江仪列表_笔趣阁(第九十九次被绑架失忆后,我觉醒了+后续+结局)
  • 野火吻过薄情玫瑰全文免费无弹窗阅读_笔趣阁_魏景辰傅雯杉傅家全文免费无弹窗阅读_笔趣阁
  • 别后不知君回首全书+后续(程十安傅临州)列表_别后不知君回首全书+后续(程十安傅临州)别后不知君回首全书+后续在线
  • 人面桃花长相忆+后续+结局(阮雾梨闻砚辞阮见微)列表_人面桃花长相忆+后续+结局(阮雾梨闻砚辞阮见微)人面桃花长相忆+后续+结局在线
  • 南风等不来候鸟结局+番外全书+后续+结局(沈南风苏雨柔)列表_南风等不来候鸟结局+番外(沈南风苏雨柔)南风等不来候鸟结局+番外全书+后续+结局在线

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1