找出数组中出现次数最多的数字

简介: package cc; //找出数组{ 3, 4, 1, 5, 3, 1, 4, 5, 4, 3 }中出现次数最多的数字 //1 建立一个新数组,长度与原数组一致,然后将每个数字出现的次数存入此数组 //2 找出此数组中的最大值,尤其关注的...
package cc;
//找出数组{ 3, 4, 1, 5, 3, 1, 4, 5, 4, 3 }中出现次数最多的数字
//1 建立一个新数组,长度与原数组一致,然后将每个数字出现的次数存入此数组
//2 找出此数组中的最大值,尤其关注的是此最大值的下标
public class ArrayCount {
	public static void main(String[] args) {
		int test[] = new int[] { 1, 2, 3, 2, 3, 3 };
		Arr arr = new Arr();
		System.out.println("出现次数最多的数字是:" + arr.getMax(test));
	}
}

class Arr {
	public int getMax(int a[]) {
		int count[] = new int[a.length];// 建立一个新数组,长度与原数组一致
		for (int x = 0; x < a.length; x++) {// 将每个数字出现的次数存入一个数组
			int tempCount = 0;
			for (int y = 0; y < a.length; y++) {
				if (a[y] == a[x]) {
					tempCount++;
				}
			}
			count[x] = tempCount;
		}
		int tempMax = count[0];// 找出最大值即谁出现次数最多
		int maxLocal = 0;
		for (int x = 0; x < count.length - 1; x++) {
			if (tempMax < count[x + 1]) {
				tempMax = count[x + 1];
				maxLocal = x + 1;
			} else {
				tempMax = count[x];// 这个else可有可无
			}
		}
		return a[maxLocal];
	}
}

相关文章
|
7月前
|
PHP
在数组中,找出给定数字的出现次数,比如[1,2,3,2,2]中2的出现次数是3次(任意编程语言描述)
在数组中,找出给定数字的出现次数,比如[1,2,3,2,2]中2的出现次数是3次(任意编程语言描述)
48 0
|
7月前
每日一题(づ ̄3 ̄)づ╭❤~(数字在升序数组中出现的次数,整数转换)
每日一题(づ ̄3 ̄)づ╭❤~(数字在升序数组中出现的次数,整数转换)
43 0
|
7月前
|
存储 Python
判断一个字符串中出现次数最多的字符,统计这个次数?
判断一个字符串中出现次数最多的字符,统计这个次数?
84 0
|
7月前
|
存储 机器学习/深度学习 C语言
Day3 字符串中找出连续最长的数字串、数组中出现次数超过一半的数字
Day3 字符串中找出连续最长的数字串、数组中出现次数超过一半的数字
66 0
|
JavaScript 前端开发
判断一个字符串中出现次数最多的字符,统计这个次数
判断一个字符串中出现次数最多的字符,统计这个次数
82 0
判断一个字符串中出现次数最多的字符 统计这个次数
判断一个字符串中出现次数最多的字符 统计这个次数
剑指offer_数组---数字在排序数组中出现的次数
剑指offer_数组---数字在排序数组中出现的次数
45 0
|
C++
剑指offer 55. 数字在排序数组中出现的次数
剑指offer 55. 数字在排序数组中出现的次数
86 0
|
C++
13.数组中出现次数超过一半的数字
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。
70 0