单词分析算法思路分享
这道题需要记录字母出现的次数,判断字母出现次数的最大值
思路:
将单词问题转化成数组问题,首先定义一个长度为26全为零的数组,然后遍历单词字符串,记录字母出现次数,出现一次自增加1,最后找出数组最大值,输出。
思路确定看代码:
1.定义数组
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
String s1 = scan.next();
int[] arr = new int[26];
for(int i = 0; i <arr.length; i++){
arr[i] = 0;
}
2.遍历单词,记录字母出现次数
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
String s1 = scan.next();
int[] arr = new int[26];
for(int i = 0; i <arr.length; i++){
arr[i] = 0;
}
for(int i =0; i <s1.length(); i++){
int count = s1.charAt(i)-97;
arr[count]++;
}
3.最后,最后找出数组最大值,输出
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
String s1 = scan.next();
int[] arr = new int[26];
int count1 =0;
for(int i = 0; i <arr.length; i++){
arr[i] = 0;
}
for(int i =0; i <s1.length(); i++){
int count = s1.charAt(i)-97;
arr[count]++;
}
for(int j = 1; j <arr.length; j++ ){
if(arr[count1] < arr[j])
count1 = j;
}
System.out.println((char)(count1+97));
System.out.println(arr[count1]);
scan.close();
以上就是全部代码,如果有其它的思路欢迎在评论区留言一起讨论