我是靠谱客的博主 怕孤单小鸽子,最近开发中收集的这篇文章主要介绍2020国赛能力挑战赛java试题3-1,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目描述

在一个由小写英文字母(a-z)组成的字符串中,查找最长子串,其头尾字母相同,且中间不包含该头尾字母,并输出最左边的该类子串。

输入说明

1行,为待处理字串(长度≤200)。

输出说明

一行,为满足条件的子串

输入样例

adfasjdoiasldhlfa

输出样例

fasjdoiasldhlf

解题思路

首先将字符串转化为字符数组,然后通过选择排序进行字符匹配,当匹配到一样的字符时便跳出第二层循环,并记录当前字符串的长度与起始点,以此类推逐渐找到最大值。

代码

import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.next();
char zf[] = str.toCharArray();
int max = 0;
int start=0;
int end=0;
for(int i = 0;i<str.length()-1;i++){
for(int j = i+1;j<str.length();j++){
if(zf[i]==zf[j]){
if(j-i>max){
max = j-i;
start = i;
end = j;}
break; }
}
}
for(int s = start;s<=end;s++){
System.out.print(zf[s]);
}
}
}

最后

以上就是怕孤单小鸽子为你收集整理的2020国赛能力挑战赛java试题3-1的全部内容,希望文章能够帮你解决2020国赛能力挑战赛java试题3-1所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部