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

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];
	}
}
时间: 2024-10-24 06:32:13

找出数组中出现次数最多的数字的相关文章

《Python Cookbook(第3版)中文版》——1.12 找出序列中出现次数最多的元素

1.12 找出序列中出现次数最多的元素 1.12.1 问题 我们有一个元素序列,想知道在序列中出现次数最多的元素是什么. 1.12.2 解决方案 collections模块中的Counter类正是为此类问题所设计的.它甚至有一个非常方便的most_common()方法可以直接告诉我们答案. 为了说明用法,假设有一个列表,列表中是一系列的单词,我们想找出哪些单词出现的最为频繁.下面是我们的做法: words = [ 'look', 'into', 'my', 'eyes', 'look', 'in

JavaScript实现找出数组中最长的连续数字序列_javascript技巧

原始题目: 给定一个无序的整数序列, 找最长的连续数字序列. 例如: 给定[100, 4, 200, 1, 3, 2], 最长的连续数字序列是[1, 2, 3, 4]. 小菜给出的解法: function maxSequence(array,step){ var _array = array.slice(), //clone array _step = 1, _arrayTemp = [], i = 0; var parseLogic = { //result container parseRe

找出字符串中出现次数最多的字母和出现次数精简版_javascript技巧

复制代码 代码如下: <script type="text/javascript"> var a = "testthisprojecthelloworld!"; var b = {}; var c = null; for (var i in a) { !isNaN(b[a[i]]++) || (b[a[i]] = 1); c = b[a[i]] > c ? a[i] : c; } alert(c + ":" + b[c]); &

C语言找出数组中的特定元素的算法解析_C 语言

     问题描述:一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它.能否只用一个额外数组和少量其它空间实现.       思路:如果能用两个辅助数组,那么相对来说简单一点,可定义数组Min和数组Max,其中Min[i]表示自a[i]之后的最小值(包括a[i]),Max[i]表示自a[i]之前元素的最大值.有了这两个辅助数组后,对于a[i],如果它大于Max[i-1]并且小于Min[i+1],那么就符合要求.       但是题目要求

《剑指offer》-数组中出现次数超过一半的数字

/* 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2.如果不存在则输出0. */ class Solution { public: /* 最开始的想法:排序后,假如存在元素满足题目条件,那么中间位置的元素就是这样的元素,那么双向增长,判断增长停滞点之间的长度 缺点是复杂度过高 int MoreThanHalfNum_Solution(vector<int>

JavaScript实现计算字符串中出现次数最多的字符和出现的次数

 这篇文章主要介绍了JavaScript实现计算字符串中出现次数最多的字符和出现的次数,本文直接给出实现代码,需要的朋友可以参考下     "计算出字符串中出现次数最多的字符是什么,出现了多少次?" 看到这个需求,我想大多数人应该首先想到的是转换成数组,再做处理,当然是可以解决问题的,然后这里提供一个巧妙的算法设计,无需转数组,可以很快解决问题,代码如下:   代码如下: var str = "adadfdfseffserfefsefseeffffftsdg"; v

[华为机试练习题]61.找出字符串中第一个出现次数最多的字符

题目 描述: 找出字符串中第一个出现次数最多的字符 详细描述: 接口说明 原型: bool FindChar(char* pInputString, char* pChar); 输入参数: char* pInputString:字符串 输出参数(指针指向的内存区域保证有效): char* pChar:出现次数最多的字符 返回值: false 异常失败 true 输出成功 练习阶段: 初级 代码 /*--------------------------------------- * 日期:2015

string-找出n个字符串中出现次数最多的字符串

问题描述 找出n个字符串中出现次数最多的字符串 找出n个字符串中出现次数最多的字符串. C/C++: char* find(char **data,int n); Java: String find(String data[]); 说明: 1. data是字符串数组,n是数组中字符串的个数,返回值为出现次数最多的字符串. 2. 若结果有多个,返回任意一个即可 3. 不得使用任何库函数/API,如需使用类似功能, 请自行实现 4. 算法效率尽可能高,尽量少的使用内存空间 5. 必须要有代码注释和算

编程c语言-新手OJ, 找出字符串中出现最多的字母,本机运行正确, 但是wrong answer, 求大神指点

问题描述 新手OJ, 找出字符串中出现最多的字母,本机运行正确, 但是wrong answer, 求大神指点 Description 钟Sir是一个迷信的(superstitious)家伙.他相信每一个字符串(string)里都有一个幸运字符.我们可以通过以下方法找到这个字符.例如,在字符串abbccc中,c 出现的次数最多,所以这个幸运字符就是 c 啦!(>_<) ?(钟Sir的想法好简单啊-) Input 第一行是测试数据的组数n,接下来的每组测试数据占一行,每行数据不超过1000个字符且