.
今天上谯老师软件项目管理方法与实践课时给出了一个他曾经留美的面试题目:统计某一数组中重复数字的次数,其实不难但是觉得非常的有意思,毕竟是他曾经留洋的面试题嘛!方法类似于我的上一篇博文模仿String.indexOf,判断一个字符串是否包含另一个字符串,虽然可以在一个方法中,但是多几个方法看上去层次会更清晰一点!下面是源码及输出结果!
import java.util.Random;
/**
* @author 761642812@qq.com
*
*@see 统计某一数组中重复数字的次数. 本例为:数组长度为100,取值范围NUMBERWIDTH为整数[0,20]
*
*/
public class CountTimes {
// 定义数组
private static int intArray[] = new int[100];
// 数字包括的范围
private static final int NUMBERWIDTH = 21;
public static void main(String[] args) {
countEveryNumberTimes(setArray(intArray));
}
// 初始化数组:使用随机数为数组赋值
public static int[] setArray(int[] array) {
for (int i = 0; i < 100; i++) {
int randomNum = new Random().nextInt(NUMBERWIDTH);
array[i] = randomNum;
}
// 调用打印数组方法
printSingleArray(array);
return array;
}
// 控制输出打印一维数组
public static void printSingleArray(int[] array) {
for (int i = 0; i < array.length; i++) {
if (i % 10 == 0) {
System.out.println();
} else {
if (array[i] > 9) {
System.out.print(array[i] + " ");
} else {
System.out.print("0" + array[i] + " ");
}
}
}
System.out.println();
}
// 统计某一个特定的数在某一数组中出现的次数
public static int countSpecifyNumberTimes(int specifyNumber, int[] array) {
int specifyCountTimes = 0;
for (int i = 0; i < array.length; i++) {
if (array[i] == specifyNumber) {
specifyCountTimes++;
}
}
return specifyCountTimes;
}
// 统计每一个数字出现的次数
public static void countEveryNumberTimes(int[] array) {
for (int i = 0; i < NUMBERWIDTH; i++) {
int specifyCountTimes = countSpecifyNumberTimes(i, array);
if (specifyCountTimes > 0) {
System.out.println("数字" + i + "出现的次数为:" + specifyCountTimes);
}
}
}
}
输出结果:
16 10 02 11 15 14 14 00 03
10 08 03 18 17 17 17 10 18
11 20 14 13 03 20 00 20 17
14 12 19 09 20 10 03 10 14
20 02 04 10 19 17 18 18 20
17 16 19 05 11 09 01 13 18
03 13 07 14 08 00 15 20 15
08 07 08 20 02 11 09 09 04
08 19 14 06 09 01 01 10 18
11 05 16 15 07 05 18 09 08
数字0出现的次数为:4
数字1出现的次数为:3
数字2出现的次数为:3
数字3出现的次数为:8
数字4出现的次数为:3
数字5出现的次数为:3
数字6出现的次数为:1
数字7出现的次数为:3
数字8出现的次数为:6
数字9出现的次数为:6
数字10出现的次数为:9
数字11出现的次数为:6
数字12出现的次数为:1
数字13出现的次数为:3
数字14出现的次数为:7
数字15出现的次数为:4
数字16出现的次数为:3
数字17出现的次数为:7
数字18出现的次数为:8
数字19出现的次数为:4
数字20出现的次数为:8
.
分享到:
相关推荐
本文实例讲述了C语言查找数组里数字重复次数的方法。分享给大家供大家参考。具体如下: #include stdafx.h #include #include using namespace std; int main() { int myarray[10]={4,3,7,4,8,7,9,4,3,6}; ...
这个方法的思路是先使用Python内置的`sort()`函数对数组进行排序,排序后的数组中,相邻的重复数字会相邻出现。因此,遍历排序后的数组,如果发现相邻的两个元素相等,那么这个元素就是重复的数字。这种方法的时间...
《重复数字统计器》是一款基于易语言开发的实用工具,主要功能是对输入的一串数字进行统计,找出其中出现频率最高的数字或一组数字。易语言是中国自主研发的一种编程语言,以其直观、简洁的语法特性,使得编程过程...
本篇文章将探讨如何利用PHP来实现一个数组重复数字的统计实例,重点在于理解哈希法和备用数组的概念。 首先,我们要解决的问题是:给定一个长度为n的数组,其中所有的数字都在0到n-1的范围内,且存在重复数字,但...
为了解决这个问题,PHP提供了一些内置函数来帮助开发者统计数组中的元素,进而找出重复的元素和它们出现的频率。在本篇讲解中,我们重点介绍了一种通过自定义函数来获取数组中重复最多的元素的方法。 首先,PHP中的...
在上述代码中,`forEach`方法用于遍历二维数组中的每一个子数组(即每一个内部数组),`arr[0]`代表子数组的第一个元素,通常是字符串或数字等唯一标识。`obj[arr[0]]`是检查`arr[0]`是否已经是对象`obj`的一个键。...
在C#编程中,统计数字出现的次数是一个常见的任务,特别是在数据分析、文本处理或日志分析等场景。这里我们讨论如何使用动态规划方法来解决这个问题。动态规划是一种强大的算法设计策略,它通常用于解决具有重叠子...
- PHP数组函数`array_count_values()`:这个内置函数可以直接统计数组中所有值出现的次数,简化统计过程。 总的来说,通过二分查找算法实现的`GetNumberOfK`函数提供了一种高效的方式来统计有序数组中特定数字出现...
5. **位统计数组法**: 创建一个长度为32的数组,遍历32位整数,对于每一位,将对应数组元素加1。最后,数组的和就是1的个数。 6. **哈希映射法**: 使用哈希映射存储每个位出现的次数,遍历所有位,累加对应的...
例如,如果你使用Python,可以创建一个字典来记录1到100每个数字出现的次数,然后遍历数组,每遇到一个元素就在字典中增加相应的计数。最后,通过查看字典中计数为0的键,就能找到缺失的数字。 ```python def find_...
在JavaScript编程中,查询数组中重复次数最多的元素是一项常见的任务,尤其在数据分析或者数据处理的场景下。这个任务可以通过多种方法实现,其中最常用的是使用哈希表(Hash Map)或者对象(Object)来统计每个元素...
此外,为了统计重复次数,可能需要使用哈希表(关联数组)或者计数排序(如果数字范围有限)。内存管理是关键,确保分配足够的内存来存储这些数据,并在不再需要时正确释放。 3. **整数读取与处理**: 使用`fgets...
该题目是一个典型的ACM竞赛中的数字统计问题,通过对给定的代码进行分析,我们不仅可以了解如何解决这类问题的具体算法思路,还可以学习到解决类似问题的一些通用技巧,比如位运算的应用、动态规划思想的体现以及...
2. 统计字符串中字符出现的次数:编写程序统计指定字符在字符串a中的出现次数,并将结果存储在数组b中。 知识点:字符串处理、数组操作、循环控制 3. 字符串处理:编写程序将字符串s中的每个字符重复出现一次,...
接下来,我们需要统计数组中每个元素出现的次数。PHP提供了一个内置函数`array_count_values()`,它可以接收一个数组作为参数,返回一个关联数组,键是原数组中的元素,值是对应元素出现的次数。如下所示: ```php ...
"快速筛选重复数字或字符"是一个常见的需求,特别是在数据清洗、数据分析和数据挖掘的过程中。本程序的目标是提供一种简单而高效的方法来解决这个问题,让我们深入探讨相关的知识点。 首先,我们要了解数组在编程中...
这个代码首先读取字符串,然后将数字提取到`std::vector<int>`中,接着进行排序,使用`std::unordered_map`统计重复项,最后输出结果。在实际应用中,需要根据实际输入字符串替换`str`变量的值。
通过以上知识点的详细分析,我们可以清楚地理解如何在C语言中编写一个简单的程序来统计一个非负整数中每个位上的数字出现的次数。这个程序不仅涵盖了基本的输入输出操作,还涉及到了数组、循环以及条件判断等多种...