前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法训练 字串统计

算法训练 字串统计

作者头像
AI那点小事
发布2020-04-20 18:15:55
4110
发布2020-04-20 18:15:55
举报
文章被收录于专栏:AI那点小事

问题描述   给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。 输入格式   第一行一个数字L。   第二行是字符串S。   L大于0,且不超过S的长度。 输出格式   一行,题目要求的字符串。

  输入样例1:   4   bbaabbaaaaa

  输出样例1:   bbaa

  输入样例2:   2   bbaabbaaaaa

  输出样例2:   aa 数据规模和约定   n<=60   S中所有字符都是小写英文字母。 提示   枚举所有可能的子串,统计出现次数,找出符合条件的那个

代码语言:javascript
复制
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc=new Scanner(System.in);
        int L;
        String s;
        L=sc.nextInt();
        s=sc.next();
        int num=-1;
        String str="";
        String temp="";
        for(int k=0;k<s.length()-L;k++){
            int l=L+k;
            for(int i=0;i<s.length()-l;i++){
                temp=s.substring(i,i+l);
                int count=0;
                for(int j=0;j<s.length()-l;j++){
                    if(temp.equals(s.substring(j,j+l)))
                        count++;
                }
                if(num<=count){
                    if(num==count){
                        if(str.length()<temp.length())
                            str=temp;
                    }else{
                        num=count;
                        str=temp;
                    }
                }
            }
        }
        System.out.print(str);
        sc.close();
        }
}
这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档