Java程序之让气球上升

问题:

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

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

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

样例输入:

5
green
red
blue
red
red
3
pink
orange
pink
0

样例输出:

red
pink
源代码:
import java.util.Scanner; // 导入Scanner类,用于接收用户输入public class BalloonRise { // 定义一个名为BalloonRise的公共类public static void main(String[] args) { // 主方法Scanner scanner=new Scanner(System.in); // 创建一个Scanner对象,用于接收用户输入String[] MaxColor=new String[1000]; // 定义一个字符串数组MaxColor,用于存储最多出现的颜色int maxColorNum=0; // 定义一个整型变量maxColorNum,用于记录最多颜色的数量while (true) // 无限循环,直到遇到break跳出循环{int n = scanner.nextInt(); // 读取用户输入的整数nif(n==0) // 如果n为0,则跳出循环{break;}String[] InputColor=new String[1000]; // 定义一个字符串数组InputColor,用于存储输入的颜色for(int i=0;i<n;i++) // 循环n次,读取用户输入的颜色{InputColor[i]= scanner.next(); // 将用户输入的颜色存入InputColor数组}int max=0; // 定义一个整型变量max,用于记录当前最多出现的颜色数量for(int i=0;i<n;i++) // 循环n次,遍历InputColor数组{int count=0; // 定义一个整型变量count,用于记录当前颜色出现的次数for(int j=i+1;j<n;j++) // 循环n-i次,从i+1开始遍历InputColor数组{if(InputColor[i].equals(InputColor[j])) // 如果当前颜色与InputColor[j]相同{count++; // 计数器加1}}if(max<count)//只有一种最多{max=count; // 更新最大颜色数量MaxColor[maxColorNum]=InputColor[i]; // 将当前颜色存入MaxColor数组maxColorNum++; // 更新最多颜色数量}else if(max==count)//最多的颜色数存在一样多的{MaxColor[maxColorNum]=InputColor[i]; // 将当前颜色存入MaxColor数组if(max!=0) {maxColorNum++; // 更新最多颜色数量}}}}for(int i=0;i<maxColorNum;i++) // 循环maxColorNum次,输出最多出现的颜色{System.out.println(MaxColor[i]); // 输出MaxColor数组中的元素}}
}
算法思路如下:

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

运行结果:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/32589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【建设方案】基于gis地理信息的智慧巡检解决方案(源文件word)

传统的巡检采取人工记录的方式&#xff0c;该工作模式在生产中存在很大弊端&#xff0c;可能造成巡检不到位、操作失误、观察不仔细、历史问题难以追溯等现象&#xff0c;使得巡检数据不准确&#xff0c;设备故障隐患得不到及时发现和处理。因此建立一套完善的巡检管理系统是企…

Java程序之寻找自幂数

题目&#xff1a; 自幂数是指一个 n 位数&#xff08;3≤n≤7 &#xff09;&#xff0c;它的每个位上的数字的 n 次幂之和等于它本身&#xff08;例如&#xff1a;1^3 5^3 3^3 153&#xff1b;1^46^43^44^41634&#xff09;。三位自幂数&#xff1a;水仙花数&#xff1b;四位…

HeidiSQL导入与导出数据

HeidiSQL两种导入与导出数据的方法&#xff1a;整个库复制&#xff0c;和仅复制数据 一 整个库复制 1 选中需要导出的数据库(这里是MyDBdata)&#xff0c;点击导出为SQL脚本。 2 按照如图进行选择 3 选做&#xff1a;删除当前数据库【如果有】 -- 删除数据库 USE mysql; D…

python-题库篇-Python语言特性

文章目录 Python语言特性1 Python的函数参数传递2 Python中的元类(metaclass)3 staticmethod和classmethod4 类变量和实例变量5 Python自省6 字典推导式7 Python中单下划线和双下划线8 字符串格式化:%和.format9 迭代器和生成器10 *args and **kwargs11 面向切面编程AOP和装饰器…

基于SpringBoot+大数据城市景观画像可视化设计和实现

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

C语言入门系列:初识函数

文章目录 一&#xff0c;C语言函数与数学函数的区别1&#xff0c;回忆杀-初中数学2&#xff0c;C语言中的函数 二&#xff0c; 函数的声明1&#xff0c;函数头1.1&#xff0c;函数名称1.2&#xff0c;返回值类型1.3&#xff0c;参数列表 2&#xff0c;函数体2.1&#xff0c;函数…

Android使用zxing生成二维码

效果图如下&#xff1a; **前提&#xff1a;导入zxing的jar后开始操作&#xff0c;老规矩最后有源码&#xff0c;作者布局默认相对布局。 第一步&#xff1a;定义二维码的长宽高及图片控件** 第二步&#xff1a;实例化QRCodeWriter后利用for循环将二维码画出来&#xff0c;然后…

用Visual Studio调试CMake项目并生成Visual Studio工程

一. 在Windows系统上安装CMake 访问CMake官方网站https://cmake.org/download&#xff0c;或通过文末链接下载&#xff1a;在下载页面上&#xff0c;找到并点击“Download”链接以获取最新的稳定版本的CMake。请注意&#xff0c;虽然新版本可能包含更多功能和改进&#xff0c;…

关于DrawTools的分析- 一个优秀的C#开源绘图软件

国外大佬&#xff0c;曾经写过两个关于DrawTools相关的开源绘图软件。 我更新了一个优化的版本如下图&#xff0c;稍后会发布更新给大家。 需要的用户可发邮件给我 448283544qq.com 应用于AGV地图编辑器如下&#xff1a; 那么这个优于很多普通的画布软件&#xff0c;包含点、…

qt 简单实验 读取json格式的配置文件

1.概要 2.代码 //#include "mainwindow.h"#include <QApplication> #include <QFile> #include <QJsonDocument> #include <QJsonObject> #include <QDebug> //读取json数据的配置文件QJsonObject readJsonConfigFile(const QString …

iptables动作总结

ACCEPT动作 将数据包放行&#xff0c;进行完此处理动作后&#xff0c;将不再比对当前链的其它规则&#xff0c;直接跳往下一个规则链。 范例如下&#xff1a; #新增自定义链TEST_ACCEPTiptables -t filter -N TEST_ACCEPT#新增自定义链TEST_ACCEPT2iptables -t filter -N TES…

0基础学习线段树

前言&#xff1a; 线段树&#xff1a;用树来表示一个一个的线段区间。 1、为什么要使用线段树&#xff1f; 题目&#xff1a;给定一个数组nums&#xff0c;我们有两种下面两种操作 1、查询nums数组下标i到下标j的和&#xff1b; 2、将nums数组指定下标的值改为指定的一个新…

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-28批量规范化

28批量规范化 """可持续加速深层网络的收敛速度""" import torch from torch import nn import liliPytorch as lp import matplotlib.pyplot as pltdef batch_norm(X, gamma, beta, moving_mean, moving_var, eps, momentum):""&quo…

Swift 中的动态数组

Swift 的 Array 类型是一种强大而灵活的集合类型&#xff0c;可以根据需要自动扩展或缩减其容量。 动态数组的基本概念 Swift 中的数组是基于动态数组&#xff08;dynamic array&#xff09;的概念实现的。动态数组能够根据需要自动调整其容量&#xff0c;以容纳新增的元素&a…

Benchmarking Panoptic Scene Graph Generation (PSG), ECCV‘22 场景图生成,利用PSG数据集

2080-ti显卡复现 源代码地址 Jingkang50/OpenPSG: Benchmarking Panoptic Scene Graph Generation (PSG), ECCV22 (github.com) 安装 pytorch 1.7版本 cuda10.1 按照readme的做法安装 我安装的过程如下图所示,这个截图是到了pip install openmim这一步 下一步 下一步 这一步…

C语言 | Leetcode C语言题解之第167题两数之和II-输入有序数组

题目&#xff1a; 题解&#xff1a; int* twoSum(int* numbers, int numbersSize, int target, int* returnSize) {int* ret (int*)malloc(sizeof(int) * 2);*returnSize 2;int low 0, high numbersSize - 1;while (low < high) {int sum numbers[low] numbers[high]…

如何设置MySQL远程访问权限?

MySQL是一种流行的关系型数据库管理系统&#xff0c;它广泛应用于各种Web应用程序和数据驱动的应用中。在默认情况下&#xff0c;MySQL只允许本地访问&#xff0c;为了能够从远程服务器或客户端访问MySQL数据库&#xff0c;我们需要进行一些额外的设置和配置。 安装和配置MySQ…

在阿里云使用Docker部署MySQL服务,并且通过IDEA进行连接

阿里云使用Docker部署MySQL服务&#xff0c;并且通过IDEA进行连接 这里演示如何使用阿里云来进行MySQL的部署&#xff0c;系统使用的是Linux系统 (Ubuntu)。 为什么使用Docker? 首先是因为它的可移植性可以在任何有Docker环境的系统上运行应用&#xff0c;避免了在不通操作系…

【html】用html+css实现银行的账户信息表格

我们先来看一看某银行的账户信息表格 我们自己也可以实现类似的效果 效果图: 大家可以看到&#xff0c;其实效果差不多 接下来看看我们实现的代码 源码&#xff1a; <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"&…

机械师硬盘数据清空怎么办?机械师硬盘数据清空怎么恢复

机械师硬盘数据清空怎么恢复&#xff1f;随着数字化时代的到来&#xff0c;数据已成为我们生活和工作中不可或缺的一部分。然而&#xff0c;硬盘数据的意外清空往往会给我们带来极大的困扰。本文将探讨在机械师硬盘数据清空后&#xff0c;我们应该如何快速有效地恢复数据。 图片…