22 查找众数及中位数

news2024/12/24 9:38:45

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

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

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

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;
 
public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
 
    Integer[] nums =
        Arrays.stream(sc.nextLine().split(" ")).map(Integer::parseInt).toArray(Integer[]::new);
 
    System.out.println(getResult(nums));
  }
 
  public static int getResult(Integer[] nums) {
    HashMap<Integer, Integer> count = new HashMap<>();
 
    // 统计各数字出现次数
    for (int num : nums) {
      count.put(num, count.getOrDefault(num, 0) + 1);
    }
 
    // 获取最大出现次数
    int max = count.values().stream().max((a, b) -> a - b).orElse(0);
 
    // 将众数挑选出来
    ArrayList<Integer> ans = new ArrayList<>();
    for (Integer k : count.keySet()) {
      if (count.get(k) == max) ans.add(k);
    }
 
    // 众数升序
    ans.sort((a, b) -> a - b);
 
    // 中位数取值
    int mid = ans.size() / 2;
    if (ans.size() % 2 == 0) {
      // 偶数个数时,取中间两个位置的平均值
      return (ans.get(mid) + ans.get(mid - 1)) / 2;
    } else {
      // 奇数个数时,取中间位置的值
      return ans.get(mid);
    }
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1293011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

tomcat环境搭建

镜像下载地址&#xff1a;https://mirror.tuna.tsinghua.edu.cn/apache/tomcat/ 配置环境变量 添加系统变量 编辑Path 测试 dos窗口运行startup启动tomcat 访问http://localhost:8080/

2023年最新prometheus + grafana搭建和使用

一、安装prometheus 1.1 安装 prometheus官网下载地址 sudo -i mkdir -p /opt/prometheus #移动解压后的文件名到/opt/,并改名prometheus mv prometheus-2.45 /opt/prometheus/ #创建一个专门的prometheus用户&#xff1a; -M 不创建家目录&#xff0c; -s 不让登录 useradd…

YITH WooCommerce Product Bundles Premium电商商城产品捆绑销售高级版

点击阅读YITH WooCommerce Product Bundles Premium电商商城产品捆绑销售高级版原文 YITH WooCommerce Product Bundles Premium电商商城产品捆绑销售高级版的作用是在您的商店中创建特别优惠&#xff0c;将产品捆绑在一起提供折扣和特价。 您如何从中受益&#xff1a; 您将…

YOLO的全面综述:从YOLOv1到最新版本

文章目录 摘要1、简介2、YOLO在不同领域的应用3、目标检测的度量标准和非最大值抑制&#xff08;NMS&#xff09;3.1. AP如何工作&#xff1f;3.2. 计算AP3.3、非极大值抑制&#xff08;NMS&#xff09; 4、YOLO: You Only Look Once4.1、YOLOv1的工作原理4.2、YOLOv1架构4.3、…

数学术语之源——全纯函数(holomorphic)

1. “holomorphic” 和 “meromorphic”的词源 术语“全纯函数(holomorphic function)”和“亚纯函数(meromorphic function)”由Charles A. A. Briot (1817-1882) 和Jean-Claude Bouquet (1819-1885)在<<椭圆函数理论>>(Thorie des fonctions elliptiques)(1859年…

月薪6W!美团、网易等大厂急招HarmonyOS开发!

近期&#xff0c;多家互联网公司发布了多个和鸿蒙系统有关的岗位。 不仅如此&#xff0c;还与Windows等主流老牌操作系统并列&#xff0c;并且排在首位介绍。 此外&#xff0c;今日头条招聘Android开发工程师也提及岗位需要“负责今日头条 Android、鸿蒙系统等新技术方向调研…

怎么压缩过大的GIF动图?三种方法随心选!

GIF图片由于其图片格式&#xff0c;本身就会很大&#xff0c;但是微信QQ还有一些其他的社交平台对上传的表情包是有限制的&#xff0c;这个时候就需要借助一些图片处理工具对GIF进行压缩。 下面就向大家介绍三种好用的方法并展示具体的操作步骤。 一、使用嗨格式压缩大师进行压…

WPS论文写作——公式和公式序号格式化

首先新建一个表格&#xff0c;表格尺寸按你的需求来确定&#xff0c;直接 插入--》表格 即可。 然后在表格对应位置填上公式&#xff08;公式要用公式编辑器&#xff09;和公式序号&#xff0c;然后可以按照单独的单元格或者整行或整列等来设置样式&#xff0c;比如居中对齐、…

图像处理之把模糊的图片变清晰

1.图片如果是有雾化效果的对图像产生影响的,要先进行图形增强,Retinex是基于深度神经网络了,我在之前图形处理的文章一路从神经网络(概率统计)—>积卷神经网络(对区域进行概率统计,对图片进行切割多个识别对象)–>深度积卷神经网络(RetinexNet也是模拟人脑的处理过程,增加…

常见的Bean工厂后置处理器

此代码在jdk11上测试通过&#xff0c;SpringBoot版本为2.7.14 1.上代码 导入坐标 <dependencies><!-- spring数据坐标 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-rest</art…

音视频学习(二十)——rtsp收流(udp方式)

前言 本文主要介绍通过udp方式实现rtsp拉流。 流程图 流程说明&#xff1a; 相较于tcp方式“信令数据”复用同一连接拉流&#xff0c;udp方式拉流“信令数据”采用不同的连接&#xff0c;信令传输采用tcp&#xff0c;流数据传输采用udp&#xff1b;客户端向服务端&#xff0…

二维码智慧门牌管理系统升级:行政区划维护功能详解

文章目录 前言一、行政区划维护解决方案二、解决方案优势 前言 随着科技不断发展&#xff0c;二维码智慧门牌管理系统已成为物业管理和社区服务等领域的重要工具。在此系统升级解决方案中&#xff0c;行政区划维护功能愈发显得重要。我们将详细介绍这一功能&#xff0c;助您更…

看好美国跨境电商平台Etsy的三个理由

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 不可否认&#xff0c;最近的经济低迷给美国跨境电商平台Etsy(ETSY)的增长带来了一些麻烦。虽然Etsy第三季度营收同比增长了7%&#xff0c;但其商品总量仅增长了1%。如果没有有利的汇率&#xff0c;Etsy的销售额基本上会与前…

【赠书活动】Java程序员,你掌握了多线程吗?

文章目录 摘要01 多线程对于Java的意义02 为什么Java工程师必须掌握多线程03 Java多线程使用方式04 如何学好Java多线程赠书活动 摘要 互联网的每一个角落&#xff0c;无论是大型电商平台的秒杀活动&#xff0c;社交平台的实时消息推送&#xff0c;还是在线视频平台的流量洪峰&…

名创优品股份有限公司

用户简介 名创优品股份有限公司&#xff08;以下简称&#xff1a;名创优品&#xff09;奉行“简约、自然、富质感”的生活哲学和“回归自然&#xff0c;还原产品本质”的设计主张&#xff0c;秉承“尊重消费主义者”的品牌精神&#xff0c;致力于为全球消费者提供真正“优质、…

Avalonia中如何实现文件拖拽上传

前言 前面我们讲了在Avalonia中如何将View事件映射到ViewModel层感兴趣的读者可以看一下&#xff0c;本章我们将讲一下在Avalonia框架下如何实现文件和文字的拖拽到指定区域进行处理和上传。 先看效果 界面设计比较简单&#xff0c;还是在前一张的基础上加了一个指定区域&…

十六、FreeRTOS之FreeRTOS队列集

本节需要掌握以下内容&#xff1a; 1&#xff0c;队列集简介&#xff08;了解&#xff09; 2&#xff0c;队列集相关API函数介绍&#xff08;熟悉&#xff09; 3&#xff0c;队列集操作实验&#xff08;掌握&#xff09; 一、队列集简介&#xff08;了解&#xff09; 一个…

就一个css的bug,害我找了大半天儿

大家好&#xff0c;我是风筝 事情是这样子的&#xff0c;我前两天用 Hugo 搭了一个个人网站&#xff0c;我添加了几个菜单&#xff0c;其中有一个菜单是「可爱的 Java」。 但是&#xff0c;当网站跑起来之后&#xff0c;发现「可爱的 Java」在菜单栏并不是原样输出的&#xf…

推荐一个FL Studio最适配的midi键盘?

Hello大家好&#xff01;好消息&#xff01;好消息&#xff01;特大好消息&#xff01; 水果党们&#xff01;终于有属于自己的专用MIDI键盘啦&#xff01; 万众期待的Novation FLKEY系列 正式出炉&#xff01; 做编曲和音乐制作的朋友们&#xff0c;对水果软件FLSTUDIO应该…

2.vue学习笔记(目录结构+模板语法+属性绑定)

1.目录结构 1.vscode ——VSCode工具的配置文件夹 2.node_modules ——Vue项目的运行依赖文件夹 3.public ——资源文件夹&#xff08;浏览器图标&#xff09; 4.src ——源码文件夹 5..gitgnore ——git忽略文件 6.index.html ——如果html文件 7.package.json —…