概述
题目描述
在一个由小写英文字母(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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复