求取众数及重数的算法实现(Java)

– 给定含有n个元素的多重集合S,每个元素在S中出现
的次数称为该元素的重数。
– 多重集S中重数最大的元素称为众数。
– 例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数
为3。
– 对于给定的n个自然数组成的多重集S,计算S的众数
及其重数 。

/*作者:李泯* UCAS* 自然数序列重数及众数的求取算法实现* 2018/10/13
*/
import java.util.Arrays;public class ModeDemo {public static void main(String[] args) {//int[] ary = {1,2,2,2,3,5};//作业题目int[] ary = {1,5,8,2,1,4,7,4,2,5,9,6,3,2,1,4,7,8,5,5,8,8,5,8};int[] a = ary2num(ary);System.out.println("原始自然数序列为:" + Arrays.toString(ary));System.out.println("自然数种类为:" + Arrays.toString(a));System.out.println("各类别重数为:" + Arrays.toString(count(ary,a)));System.out.println("众数及其重数为:" + a[findmax(count(ary,a))] + ";" + count(ary,a)[findmax(count(ary,a))]);             }//ary2num:实现由若干个个自然数的集合到其中所含自然数种类集合的方法(去除重复出现的自然数)。static int[] ary2num(int[] ary){int[] num_1 = new int[ary.length];int n =0;int yes = 0;//yes为0时,表示之前尚未出现该自然数,录入num_1for(int i = 0;i < ary.length;i++) {for (int j = 0; j < num_1.length; j++) {if (ary[i] == num_1[j]){yes = 1;break;}}if(yes == 0) {num_1[n] = ary[i];n++;}yes = 0;    }//System.out.println(n);//去掉num_1数组中的0int[] num = new int[n];for(int i = 0;i < n;i++) {num[i] = num_1[i];}return num;}//对num数组中的各个自然数的重数做统计static int[] count(int[] array,int[] num) {int[] count = new int[num.length];for (int i = 0; i < num.length; i++) {for (int j = 0; j < array.length; j++) {if(array[j] == num[i]) {count[i]++;}}}return count;}//寻找count中的最大值,返回最大值索引static int findmax(int[] array) {int max_index = 0;for (int i = 0; i < array.length-1; i++) {if (array[i+1] > array[i]) {max_index = i+1;}}return max_index;}
}

求取众数及重数的算法实现(Java)相关推荐

  1. java 求最大公因数_求最大公约数的三种算法(java实现)

    三种算法: //欧几里得算法(辗转相除): public static int gcd(int m,int n) { if(m int k=m; m=n; n=k; } //if(m%n!=0) { ...

  2. c语言分治法求众数重数_分治算法:求众数及其重数

    问题描述: 给定含有 n 个元素的多重集合 S,每个元素在 S 中出现的次数称为该元素的重数.多重集合 S 中重数最大的素称为众数.例如多重集合 S={1,2,2,7,2,7,5},其中众数是 2,其 ...

  3. 用机器学习算法来求取战斗力公式

    一般游戏的战力公式,是一个线性回归方程: a*x+b*y+c*z+- =p 其中,p是战斗力,[a,b,c-]是属性,[x,y,z-]是属性价值. 属性一般包括:最大生命值,攻击力,防御力,闪避,暴击 ...

  4. 分治法求解集合的众数及其重数

    1. 分治法 分治法解题过程主要分为分.治.合三个步骤",应用该方法的基本过程如下: (1) 将原问题分解为若干个规模较小的子问题 (2) 对这些子问题分别求解 (3) 对各个子问题的解进行 ...

  5. c语言分治法求众数重数_算法实验二 分治法 众数问题.pdf

    算法实验二 分治法 众数问题 算法分析与设计实验二 分治法 主要内容 • 实验目的 • 主要实验仪器设备和环境 • 实验内容 • 实验要求 • 注意点 实验目的 • 理解分治法的基本思想 • 针对特定 ...

  6. c++实现求众数及其重数

    问题:在一个由元素组成的表中,出现次数最多的元素称为众数,试写一个寻找众数的算法 方法:1)对输入数据进行排序 2)从每个数字出现的第一个位置开始计数,计算出现的次数,记为count,如果大于最大众数 ...

  7. 算法学习:后缀数组 height的求取

    [前置知识] 后缀数组 [定义] [LCP]全名最长公共前缀,两个后缀之间的最长前缀,以下我们定义 lcp ( i , j ) 的意义是后缀 i 和 j 的最长前缀 [z函数] 函数z [ i ] 表 ...

  8. MATLAB点云处理:读取、展示、最近邻、ICP算法求取转移矩阵、旋转

    MATLAB中关于点云的几个函数的简单应用.作者使用的是MATLAB R2015b,这几个函数应该是在Computer Vison包里. 全文都是作者自己结合MATLAB文档的理解,欢迎指教. 1. ...

  9. 关系模式候选键求取的算法

    在学习数据库的时候,经常要碰到候选键的求取,但是一开始的时候,根本搞不清楚怎么去求,最近看了一些文章和资料,终于搞明白了. 首先来看候选键的定义:若关系中的某一属性组的值能唯一地标识一个元组,则称该属 ...

最新文章

  1. WMI Series :事件预订和处理
  2. Java -jar启动服务与Tomcat服务器上部署JAR之间的区别
  3. Wikioi 1222 信与信封问题(二分图匹配)
  4. SetTimeout(延迟计时器)
  5. adam算法效果差原因_电缆耐高温套管使用效果差的原因有哪些?
  6. 网页英文 错位_网页错位原因解决方法
  7. 吴恩达机器学习课后作业
  8. linux 编码转换iconv命令
  9. Android可拖动对话框Dialog
  10. 什么是串口协议转换器?串口转换器有哪些特点?
  11. hive 安装mysql报错_hive的元数据存储在mysql后,报错的解决方法
  12. 杀戮间服务器未响应,杀戮间2打不开怎么办,游戏没反应的解决办法
  13. 亚马逊 kindle ebook 大合集资源多真的好吗?
  14. 设计模式-鸭子类型1
  15. 程序设计所遵循的一般步骤
  16. IC数字芯片学习各类公众号汇总
  17. vue中设置显示默认图片
  18. 搭建直播平台,你需要先知道这些
  19. vue关于监听子组件接收从父组件传过来的动态值的问题
  20. Vista和DirectX 10(转载)

热门文章

  1. 多维时序 | MATLAB实现基于VMD-SSA-LSSVM、SSA-LSSVM、VMD-LSSVM、LSSVM的多变量时间序列预测对比
  2. Django项目实战:CMDB资产扫描和DevOPS自动化运维
  3. python编码终极版
  4. php Session是怎么实现的?存储在哪里?
  5. 基于unet神经网络上采样中的的三种方式的理解
  6. InternetDownloadManager6.38.1(IDM)
  7. Leetcode 第121,122,136,141,144,145,155,160,167,168题(Java解法)
  8. 硅谷三巨头联盟,智能家居的大一统未来
  9. android 国密签名,关于国密 (sm2,sm3,sm4)在Linux、python、Android、java、ios中的...
  10. 微信数据库最新的解密方式,C++代码解密微信数据库信息