要求:
统计一个整数中出现最多的数字。如果数字个数一样,则以最大的数字为准,例如 1 输出 1,121 输出 1,23231 输出 3。
针对这个问题,处理步骤可以分为2步:
第一步:首先抽离整数中的每个数字,并且放到该数字对应的桶数组中,桶数组是一个长度为10的数组,其中数组的每个索引都表示整数中可能出现的数字,数组索引0到9刚好表示0到9这10个数字。至于抽离数字可以先将整数对10取模,得到的最低位的数字,再将该数字对应的数组位置的元素加1,接着再将整数除以10,这样到整数为0时,就已抽离出整数中的所有数字。
第二步:现在桶数组中的10个元素表示的是整数中所有数字的出现次数,例如573257抽离完后数组中所因为2,3,5,7的四个位置的值应该为1,1,2,2。循环得到数组中的最大元素,并且保留索引。如果有两个数字出现次数一样,遍历桶数组也能获取整数中其中最大的数字,大家仔细想想就知道了。
代码
public class NumberStat {
public static void main(String[] args) {
int number = 573257;
//桶数组,数组的索引就表示整数中的各个数字,数组元素表示该索引在数组中出现的次数
int[] barrel = new int[10];
//抽取各个数字并且放入到barrel中
getNumber(number, barrel);
int max = barrel[0]; //max存放最多的次数
int index = 0; //index存放出现次数最多的数字
for(int i=1; i<barrel.length; i++) {
if(max<=barrel[i]) {
max =barrel[i];
index = i;
}
}
System.out.println("出现次数最多的数字是:" + index + ",出现的次数是:" + max);
}
/*
* 循环地对整数对10取模,并将得到的数字放入其对应的桶中
* 接着对整数除10,当numer为0时,所有的数字都已抽离
*/
private static void getNumber(int number, int[] barrel) {
while(number!=0) {
int num = number%10;
barrel[num]++;
number/=10;
}
}
}
出现次数最多的数字是:7,出现的次数是:2
分享到:
相关推荐
【输入形式】 从标准输入读取输入。...向标准输出打印出现次数最多的那个数字。 【输入样例】 6 11 0 -1 20 0 300 【输出样例】 0 【样例说明】 输入6个整数,其中出现次数最多的是0,共出现两次。
在本实验中,我们将使用Java编程语言来统计一个整数中出现次数最多的数字。实验的目的和要求是统计一个整数中出现最多的数字,如果数字个数一样,以最大的数字为准。 实验内容和方法是输入一个整数,统计这个整数中...
为了高效地解决这一问题,我们可以采用哈希表的思想来计数每个整数出现的频次,这里用一个长度为10001的数组`count`来存储每个数字出现的次数(下标0不使用,因此数组长度设置为10001)。遍历输入数组的同时更新`...
在这个示例中,我们使用一个整数数组 count 来统计每个数字出现的次数。数组的大小是 41,因为我们需要统计 10 到 50 之间的数字,这些数字共有 41 个可能的值。我们使用数组索引来统计每个数字出现的次数。 知识点...
在本问题中,我们关注的是如何找出一个正型数组中出现次数最多的前三个数。这涉及到数据统计、排序以及可能的哈希映射等技术。我们将探讨如何通过对象数组和自定义比较器来实现这一目标。 首先,创建一个对象数组,...
这段代码用于统计一个字符串中出现次数最多的字母。首先,定义了一个大小为26的数组`a`来存储每个字母出现的次数。然后,通过遍历字符串`s`中的每个字符,判断它是否为大写或小写字母,并相应地更新数组`a`。接着,...
例如,在一个整数数组中,我们可能需要找出最大值、最小值,或者是出现次数最多的数字。这类问题通常通过遍历数组并进行适当的计算来解决,对于大规模数据,高效的数据结构和算法选择至关重要。 接着,我们来看...
4. **查找重复次数最多的数字**:遍历哈希表,找到出现次数最多的数字。这需要比较字典中每个元素的值,易语言提供了“字典最大值”命令来完成这个任务。 5. **结果显示**:最后,将统计结果展示给用户。可以使用...
在给定的例子中,目标是找出数值数组中出现频率最多的10个数字。下面将详细解释如何使用PHP实现这一功能。 首先,我们创建一个包含随机整数的数组。这通常通过循环和`rand()`函数来完成,如以下代码所示: ```php ...
根据提供的文件信息,我们可以归纳出两个主要的知识点:一个是通过排序和遍历的方式来寻找一个整数数组中出现次数最多的整数;另一个则是利用哈希表(`HashMap`)来统计每个整数出现的频率,进而找出出现频率最高的...
本知识点主要关注如何利用JavaScript编程语言实现对字符串中出现次数最多的字符及其出现次数的计算。 1. 字符串基础概念:在JavaScript中,字符串是由16位无符号整数(UTF-16)序列构成的数据类型,可以表示文本...
本题“经典面试题(1):统计整数中1的个数”是一个典型的例子,其核心是计算一个无符号32位整数在二进制表示下含有多少个1。这个问题在计算机科学中被称为“位操作”或“计数比特”的问题,涉及到位运算、循环以及...
在“字符统计c++”这个主题中,我们主要关注的是如何使用C++来编写一个程序,该程序能够统计一段文本中空格、字母、数字以及标点符号的数量。下面将详细探讨这一知识点。 首先,我们需要理解C++的基本语法和数据...
在给定的C++程序中,我们可能是在寻找一个数组或序列中的特定统计量,比如出现次数最多的数字(众数)、最大值或最小值等。 C++是一种强大的系统级编程语言,支持面向对象编程,同时它的性能优秀,特别适合实现复杂...
输入一个正整数n (1),再输入n 个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n 个数。 (25)抓住肇事者 一辆卡车违反交通规则,撞人后逃跑。现场共有三个目击者,但都没有记住车号,...
5.14 在首地址为TABLE的数组中按递增次序存放着100H个16位补码数,试编写一个程序把出现次数最多的数及其出现的次数分别放在AX和CX中。 5.15 数据段中已定义了一个有N个字数据的数组M,试编写一程序求出M中绝对值...
接着,程序需要输出一个双列列表,其中第一列包含不同的数组元素,而第二列显示相应元素在数组中出现的次数。这个列表要求按第一列的元素从大到小排序。 首先,我们需要了解C++中的数组和基本输入输出操作。数组是...
这个问题要求编写一个程序来统计一个字符串中出现次数最多的字母。输入数据包括多个测试用例,每个测试用例包括一个字符串和该字符串的长度。输出要求是输出出现次数最多的字母。 知识点包括: * 字符串处理 * ...
题目要求在这些数字中查找特定的自然数x,如果找到了,则输出该数字及其出现的次数;如果未找到,则输出NO。 #### 输入格式 输入由多组测试数据组成。每组测试数据包括: 1. 第一行:两个整数n和x,其中n表示自然数...
6. 主函数调用一个函数,如:检索出字符串中出现次数最多的那个字符,不考虑大小写 这道题目考察了字符串处理的能力,要求读者编写一个函数来统计字符串中每个字符的出现次数,并输出出现次数最多的字符。 7. 查找...