题目描述

1.众数是指一组数据中出现次数量多的那个数,众数可以是多个
2.中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数, 如果这组数据的个数为偶数,那就把中间的两个数之和除以 2,所得的结果就是中位数
3.查找整型数组中元素的众数并组成一个新的数组,求新数组的中位数

输入描述

输入一个一维整型数组,数组大小取值范围 0 < N < 1000,数组中每个元素取值范围 0 < E < 1000

输出描述

输出众数组成的新数组的中位数

示例 1
输入 10 11 21 19 21 17 21 16 21 18 15
输出 21
示例2
输入 2 1 5 4 3 3 9 2 7 4 6 2 15 4 2 4
输出 3
public static void main(String[] args) {//int[] arr = {10, 11, 21, 19, 21, 17, 21, 16, 21, 18, 15};//int[] arr = {2, 1, 5, 4, 3, 3, 9, 2, 7, 4, 6, 2, 15, 4, 2, 4};int[] arr = {10, 11, 21, 19, 21, 17, 21, 16, 21, 18, 16};//存储各个元素出现次数Map<Integer, Integer> map = new HashMap<Integer, Integer>(arr.length);for (int i : arr) {if (map.containsKey(i)) {map.put(i, map.get(i) + 1);}else {map.put(i, 1);}}//根据元素出现次数添加众数List<Integer> list = new ArrayList<Integer>();//定义游标int cursor = 0;for (Integer key : map.keySet()) {Integer count = map.get(key);if (count>cursor) {//清空list,添加更大的元素, 并替换游标list.clear();list.add(key);cursor = count;}else if (count == cursor) {list.add(key);}else {continue;}}//按照从小到大排序Collections.sort(list, (n1, n2) -> n1.compareTo(n2));int middleIndex = list.size()/2;if (list.size()%2 != 0) {System.out.println(list.get(middleIndex));}else {System.out.println(Integer.valueOf((list.get(middleIndex-1) + list.get(middleIndex))/2));}}

众数和中位数-华为OD相关推荐

  1. 【华为OD机试真题 JAVA】查找众数及中位数

    JS版:[华为OD机试真题 JS]查找众数及中位数 标题:查找众数及中位数 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 1.众数是指一组数据中出现次数量多的那个数,众数可以是 ...

  2. 【华为OD机试】查找众数及中位数【2023 B卷|100分】

    [华为OD机试]-真题 !!点这里!! [华为OD机试]真题考点分类 !!点这里 !! 题目描述 众数是指一组数据中出现次数最多的那个数,众数可以是多个. 中位数是指把一组数据从小到大排序后,如果这组 ...

  3. 华为OD机试 -众数和中位数(Java) | 机试题+算法思路+考点+代码解析 【2023】

    众数和中位数 题目 众数是指一组数据中出现次数多的数 众数可以是多个 中位数是指把一组数据从小到大排列,最中间的那个数, 如果这组数据的个数是奇数,那最中间那个就是中位数 如果这组数据的个数为偶数,那 ...

  4. 【华为OD机试真题 JS】查找众数及中位数

    标题:查找众数及中位数 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 1.众数是指一组数据中出现次数量多的那个数,众数可以是多个 2.中位数是指把一组数据从小到大排列,最中间的 ...

  5. 【华为机试真题 Python实现】查找众数及中位数

    文章目录 前言 题目描述 示例 1 示例 2 参考代码 前言 <华为机试真题>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可以私信我,我会 ...

  6. 华为机试:查找众数及中位数

    一道华为od机试的简单题. 查找众数及中位数 题目描述 1.众数是指一组数据中出现次数量多的那个数,众数可以是多个 2.中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最 ...

  7. 2023华为OD机试备考攻略 以及题库目录分值说明 考点说明

    刷题库,刷题库 刷题库.重要的事情说三遍!!!!!!!!!!!!!!!!!!!!!! 要刷有多种语言的实现的题库,一种语言看不懂可以换另一种语言,而且可以结合起来去重!!! 类似下面这种的题库: 华为 ...

  8. 华为OD机试真题2022(JAVA)

    华为机试题库已换 →→→ 华为OD机试2023B卷(JAVA&JS) 以下题目为旧版题库,供大家课外消遣 基础题: 序号 题目 分值 1 查找众数及中位数 100 2 出错的或电路 100 3 ...

  9. 华为od机试题6 真题

    华为od机试题 真题 35.输出满足条件的数对 34.寻找众数中的中位数 33.分配内存 32.窗口和的最大值 31.求整数的连续自然数之和的表达式 30.矩阵的最大值 以下题目附带Java解法,是我 ...

最新文章

  1. 当代大学生的变态生活
  2. 2017计算机考研教材,【考研】2017计算机考研:四大科目参考书推荐
  3. 十二、经典问题解析一
  4. bash: /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-gcc: 没有那个文件或目录。...
  5. Dell服务器RAID常用管理命令总结 linux
  6. Linux操作系统的性能将主要取决于,大学计算机基础试题题库及复习资料
  7. C语言:L1-036 A乘以B (5分)
  8. [mybatis]动态sql_if_where_trim判断OGNL
  9. mysql 时间类型 datetime,timestamp
  10. 自己做计算机三级,计算机三级辅导:自己“做”软驱
  11. 从控制台读取password - C#
  12. 将一个十六进制数的字符串参数转换成整数返回
  13. 优秀 java工程师 简历
  14. 2019-6-5-WPF-拼音输入法
  15. Xshell暴漏内网端口
  16. 那么,储能电池的BMS与动力电池的BMS有什么区别呢?
  17. powershell激活conda失败;无法加载文件 C:\Users\user\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本
  18. 6级20190601
  19. 修改idea运行内存大小
  20. 旋转机械设备故障诊断的轴心轨迹总结

热门文章

  1. Windows修复白标
  2. 在家如何访问公司电脑文件呢 有了它们就不用担心了
  3. 【uni-app】基础知识篇
  4. 论文研读2018:卷积中的注意力和keras实现。CBAM: Convolutional Block Attention Module
  5. 什么是正交,函数空间,希尔伯特空间,施密特正交化,线形代数基础
  6. js一维数组,api,二维数组
  7. 安卓 php 环境,初尝PFA ----- PHP 在 Android 环境配置搭建
  8. 【HTTP】989- HTTP 传输大文件的几种方案
  9. 李纳斯是个怎样的人?
  10. java虚拟机多久触发垃圾回收_每日一问:讲讲 Java 虚拟机的垃圾回收