在1000个数中找出出现次数最多的数

来源:互联网 发布:有向图的关联矩阵 编辑:程序博客网 时间:2024/06/07 13:34

输出出现最多的数

package com.fonxian.findmax;/*问题: 在一个由自然数1-1000中某些数字所组成的数组中,每个数字可能出现零次或者多次。设计一个算法,找出出现次数最多的数字。*/public class FindMax {    static int findMax(int[] a,int n){        int num;//a中的元素,temp的下标        int max = 0;        int[] temp = new int[1000];        //将数组中的元素设为0,意为出现0次        for(int i = 0;i<1000;i++)            temp[i] = 0;        //a数组中的元素转换为temp数组的下标,temp中的元素则为出现的次数        for(int j = 0;j < n;j++){            num = a[j];            temp[num]++;        }        //找到出现次数最多的数        for(int t = 0;t<1000;t++){            if(temp[t]>max)                max = t;        }        return max;    }    public static void main(String[] args) {        int[] a={1,2,3,4,5,4,5,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8};        System.out.println("出现次数最多的数为:"+findMax(a,a.length));    }}

测试结果

“出现次数最多的数为:8

输出出现次数最多的前三个数

使用选择排序的思想,来找出现次数最多的前三个数

//输出出现次数最多的三个数        int key;//用来保存下标        int j;        int flag=0;//标记用来判断是否满足3个数        int[] number = new int[3];        for(int i = 0;i<1000&&flag!=3;i++){            key = i;            for(j=i;j<1000;j++){                if(temp[j]>temp[key])                    key = j;            }            exch(temp,i,key);            number[flag]=key;            flag++;             }        for(int i = 0;i<3;i++)            System.out.println(number[i]);

exch函数

    //交换两个数组的值    static void exch(int[] a,int i,int j){            int temp = a[i];            a[i] = a[j];            a[j] = temp;        }

测试结果
8
7
5

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 绣球花被太阳晒阉了怎么办 羊肉香精放多了怎么办 被飞机防腐剂弄到皮肤怎么办 狗吃了脱氧保鲜剂呕吐怎么办 小孩误吃试纸了保鲜剂怎么办 狗狗把保鲜剂吃了怎么办 小孩吃了防潮珠怎么办 狗吃了防潮剂怎么办 洋桔梗有点烂根怎么办 变色球花枯萎了怎么办 桔梗花叶子蔫了怎么办 洋桔梗头垂下来怎么办 洋桔梗花容易折断怎么办 眼睛被火炮炸伤了怎么办 逆水寒包裹满了怎么办 逆水寒包裹里满了怎么办 grim soul包裹满了怎么办 剑三包裹满了怎么办 电脑开机后都是英文怎么办 欠员工工资仲裁老板不到庭怎么办 乔丹拖鞋鞋底硬怎么办 公牛插座电阻烧了怎么办 公牛led灯太刺眼怎么办 公牛插座usb坏了怎么办 墙壁上开关坏了怎么办 刑事二审判决后不服的怎么办 空调外机空间小怎么办 离婚判决生效书丢了怎么办 法院判决离婚对方上诉怎么办 法院判决离婚上诉中级法院怎么办 刑诉中二审发现一审事实错误怎么办 法院判决过了执行期怎么办 刑事犯罪判决后法院未执行怎么办 法院起诉对方不签字怎么办 法院判离婚对方不要签字怎么办 老人不能到法院签字怎么办 法院判决书被告人没签字怎么办? 法院判决离婚一方不签字怎么办 法院判决离婚对方不签字怎么办 法院已判决被告没有钱怎么办 判决还款但是的确没有钱怎么办