• Java程序之让气球上升


    问题:

            ACM比赛时间再次举行!看到气球四处漂浮是多么的兴奋啊。但要告诉你一个秘密,评委们最喜欢的时间是猜测最流行的问题。比赛结束后,他们会数出每种颜色的气球,然后找到结果。今年,他们决定把这份可爱的工作留给你。

            输入:输入包含多个测试用例。每个测试用例的开头都有一个数字N(0 < N <= 1000)——分布的气球总数。接下来的N行分别包含一种颜色。气球的颜色是由多达15个小写字母组成的一串。带有N = 0的测试用例终止输入,并且不处理此测试用例。

            输出:对于每种情况,在一行上打印最流行问题的气球的颜色。保证对每个测试用例都有一个唯一的解决方案。

    样例输入:

    1. 5
    2. green
    3. red
    4. blue
    5. red
    6. red
    7. 3
    8. pink
    9. orange
    10. pink
    11. 0

    样例输出:

    1. red
    2. pink
    源代码:
    1. import java.util.Scanner; // 导入Scanner类,用于接收用户输入
    2. public class BalloonRise { // 定义一个名为BalloonRise的公共类
    3. public static void main(String[] args) { // 主方法
    4. Scanner scanner=new Scanner(System.in); // 创建一个Scanner对象,用于接收用户输入
    5. String[] MaxColor=new String[1000]; // 定义一个字符串数组MaxColor,用于存储最多出现的颜色
    6. int maxColorNum=0; // 定义一个整型变量maxColorNum,用于记录最多颜色的数量
    7. while (true) // 无限循环,直到遇到break跳出循环
    8. {
    9. int n = scanner.nextInt(); // 读取用户输入的整数n
    10. if(n==0) // 如果n为0,则跳出循环
    11. {
    12. break;
    13. }
    14. String[] InputColor=new String[1000]; // 定义一个字符串数组InputColor,用于存储输入的颜色
    15. for(int i=0;i// 循环n次,读取用户输入的颜色
    16. {
    17. InputColor[i]= scanner.next(); // 将用户输入的颜色存入InputColor数组
    18. }
    19. int max=0; // 定义一个整型变量max,用于记录当前最多出现的颜色数量
    20. for(int i=0;i// 循环n次,遍历InputColor数组
    21. {
    22. int count=0; // 定义一个整型变量count,用于记录当前颜色出现的次数
    23. for(int j=i+1;j// 循环n-i次,从i+1开始遍历InputColor数组
    24. {
    25. if(InputColor[i].equals(InputColor[j])) // 如果当前颜色与InputColor[j]相同
    26. {
    27. count++; // 计数器加1
    28. }
    29. }
    30. if(max//只有一种最多
    31. {
    32. max=count; // 更新最大颜色数量
    33. MaxColor[maxColorNum]=InputColor[i]; // 将当前颜色存入MaxColor数组
    34. maxColorNum++; // 更新最多颜色数量
    35. }
    36. else if(max==count)//最多的颜色数存在一样多的
    37. {
    38. MaxColor[maxColorNum]=InputColor[i]; // 将当前颜色存入MaxColor数组
    39. if(max!=0) {
    40. maxColorNum++; // 更新最多颜色数量
    41. }
    42. }
    43. }
    44. }
    45. for(int i=0;i// 循环maxColorNum次,输出最多出现的颜色
    46. {
    47. System.out.println(MaxColor[i]); // 输出MaxColor数组中的元素
    48. }
    49. }
    50. }
    算法思路如下:

    1. 首先,我们需要接收用户输入的整数n,表示有n个气球。如果n为0,则跳出循环。
    2. 然后,我们需要创建一个长度为1000的字符串数组InputColor,用于存储用户输入的气球颜色。
    3. 接下来,我们需要遍历InputColor数组,统计每种颜色出现的次数。
    4. 在统计过程中,我们需要记录当前最多出现的颜色数量max和对应的颜色。
    5. 如果遇到一种新的颜色,其出现次数大于max,则更新max,并将该颜色存入MaxColor数组。
    6. 如果遇到一种新的颜色,其出现次数等于max,也将其存入MaxColor数组。
    7. 最后,遍历MaxColor数组,输出最多出现的颜色。

    运行结果:

     

  • 相关阅读:
    【源码】Spring事务之事务失效及原理
    Hack The Box-Monitored
    Digicert证书:您的网络安全守护神
    centos7中多版本go安装
    java计算机毕业设计物业管理系统源码+系统+数据库+lw文档+mybatis+运行部署
    国产操作系统之统信UOS安装
    R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证指数收益时间序列...
    表白弹药库 - 这是我为你写的散文诗(结尾附源码)
    sql语句之字符串截取函数(substring_index)
    Antd Pro项目接入qiankun微前端
  • 原文地址:https://blog.csdn.net/m0_74344909/article/details/139816767