P8 单词分析

解法一:双重循环

代码奉上:

java 复制代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Scanner;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args)  {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        int len = str.length();
        int maxCount = 0;
        char mostFrequency= str.charAt(0);

        for(int i =0 ; i<len ; i++){
            char ch = str.charAt(i);
            int currentCount = 0;

            for(int j = 0 ; j<len ; j++){
                if(str.charAt(j) == ch ){
                   currentCount++;
                }
            }
            if(currentCount>maxCount){
                maxCount = currentCount;
                mostFrequency = str.charAt(i);
            }
        }
        System.out.println(mostFrequency);
        System.out.println(maxCount);

    }
}

解法二:ASCLL码值

27可改为26,更加高效。

第一个for循环是为了遍历每一个字符,并给每一个字符计数

第二个for循环是为了找出计数最多的字符,并记录最大数量和字符

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args)  {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        int[] n = new int[27];
        int maxCount = 0;
        char mostFrequency = str.charAt(0);
        for(int i = 0 ; i < str.length() ; i++){
            n[str.charAt(i) - 'a']++;
        }
        for(int j = 0 ; j < 26 ; j++){
            if(n[j]>maxCount){
                maxCount = n[j];
                mostFrequency = (char)('a'+j);
            }
        }
        System.out.println(mostFrequency);
        System.out.println(maxCount);
    }
}
相关推荐
yaoxin5211233 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
凡人叶枫3 小时前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
学逆向的4 小时前
C++纯虚函数
开发语言·c++·网络安全
何极光4 小时前
IDEA集成Maven
java·maven·intellij-idea
程序员二叉4 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉4 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
老马识途2.04 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
青山木4 小时前
Hot 100 --- 轮转数组
java·数据结构·算法
凡人叶枫5 小时前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
Qt程序员5 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言