资源限制
内存限制:512.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
求出5个字符串中最长的字符串。每个字符串长度在100以内,且全为小写字母。
样例输入
one two three four five
样例输出
three
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
String s=scanner.nextLine();
char[] f=s.toCharArray();
int max=0;//表示最长单词的长度。
int maxj=0;//表示最长单词的第一个单词的起始下标。
/**
* 查找最长单词使用锦标赛的思想
*/
int sum=0;//标注每个单词的长度。
for(int i=0;i<f.length;i++) {
if(f[i]==' ') {
/**
* 出现空格情况表示上一个单词已经结束所以下面需要做的步骤是:
* 1.将sum与max进行比较(看是否需要更新max、maxj)。
* 2.将sum进行清零。
*/
if(sum>max) {
max=sum;
maxj=i-sum;
}
sum=0;
}else {
sum++;
}
}
if(sum>max) {
max=sum;
maxj=f.length-max;
}
for(int i=maxj;i<maxj+max;i++)
System.out.print(f[i]);
}
}