前段时间发表了一篇众数问题的算法,经测试发现代码不够健壮,这里给出另外一种实现
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class ModeImpl {
public static void main(String[] args) {
int[] arr = new int[] { 1, 2, 3 ,3,5,6,4,2,6,4,5,5};
mode(arr);
}
public static void mode(int[] arr) {
Map<Integer, Integer> temp = new HashMap<Integer, Integer>();//用于存取每个数及出现次数
for (int i = 0; i < arr.length; i++) {//实现map初始化
if (temp.get(arr[i]) != null) {
temp.put(arr[i],temp.get(arr[i])+1);
}else{
temp.put(arr[i],1);
}
}
Set<Integer> keySet=temp.keySet();
int count=0,mode=arr[1];
for(Integer i:keySet){//查找众数
if(temp.get(i)>count){
mode=i;
count=temp.get(i);
}
}
System.out.print("众数是" + mode+" ");
System.out.println("重数是" + count);
}
}
分享到:
相关推荐
众数问题 Description 给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重 集S中重数最大的元素称为众数。 例如,S={1,2,2,2,3,5}。 多重集S的众数是2,其重数为3。 编程任务:...
集S 中重数最大的元素称为众数。 例如,S={1,2,2,2,3,5}。 多重集S 的众数是2,其重数为3。 编程任务: 对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数。 输入格式 输入的第1 行多重集S 中...
给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。
众数问题 问题描述: 给定含有 n 个元素的多重集合 S,每个元素在 S 中出现的次数称为该元素的重数。多重集 S 中重数最大的元素称为众数。 例如,S={1,2,2,2,3,5}。 多重集 S 的众数是 2,其重数为 3。 ...
给定含有n个元素的多重集合S,每...多重数集S中的重数最大的元素称为众数。 例如, S={1,2,2,2,3,5}。 多重集S得众数是2,其重数为3。 算法设计: 对于给定的由n个自然数组成多重数集S,计算S的众数及其重数。
用分治法求解众数问题,里头用到了快速排序算法
这个程序使用分治法算法思想,求得一组数中的众数,众数的重数。
实现2-1众数问题.cpp
课堂作业:采用文件流形式输入输出解决众数问题。
给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。其中多重集S的众数是2,其重数为3。
众数问题
众数问题
众数问题
众数问题
算法设计:对于给定的n个自然数组成的多重集S,计算S的众数及其重数
众数问题.docx
算法与分析课程设计—寻找众数问题算法与分析课程设计—寻找众数问题算法与分析课程设计—寻找众数问题
多重集S 中重数最大的元素成为众数。例如,S={1,2,2,2,3,5}。多 重集S 的众数是2,其重数为3。 算法设计:对于给定的由n 个自然数组成的多重集S,计算S 的众数及其重数。">:给定含有n 个元素的多重集合S,每个元素...
众数问题 Description 给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重 集S中重数最大的元素称为众数。 例如,S={1,2,2,2,3,5}。 多重集S的众数是2,其重数为3。 编程任务:...
众数问题