【从零开始的LeetCode-算法】1338. 数组大小减半

给你一个整数数组 arr。你可以从中选出一个整数集合,并删除这些整数在数组中的每次出现。

返回 至少 能删除数组中的一半整数的整数集合的最小大小。

示例 1:

输入:arr = [3,3,3,3,5,5,5,2,2,7]
输出:2
解释:选择 {3,7} 使得结果数组为 [5,5,5,2,2]、长度为 5(原数组长度的一半)。
大小为 2 的可行集合有 {3,5},{3,2},{5,2}。
选择 {2,7} 是不可行的,它的结果数组为 [3,3,3,3,5,5,5],新数组长度大于原数组的二分之一。

示例 2:

输入:arr = [7,7,7,7,7,7]
输出:1
解释:我们只能选择集合 {7},结果数组为空。

提示:

  • 1 <= arr.length <= 10^5
  • arr.length 为偶数
  • 1 <= arr[i] <= 10^5

我的解答

class Solution {public int minSetSize(int[] arr) {// 获取需要返回的数组的长度int arr_len = arr.length / 2;// 使用map集合统计各数的出现次数Map<Integer,Integer> map = new HashMap<Integer,Integer>();for(int n : arr){map.put(n, map.getOrDefault(n,0) + 1);}// 总共有几个数int arr_num = map.size();// 将每个数的数量存进count数组中,并进行排序int[] count = new int[arr_num];int index = 0;for(int n : map.values()){count[index++] = n;}Arrays.sort(count);// 最数量最多的数开始,直到当前和大于等于原数组一半int cur = 0;while(index > 0){cur += count[--index];if(cur >= arr_len) break;}return arr_num - index;}
}

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

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

相关文章

高通 Android12 添加APN信息

1、产品有国外客户&#xff0c;需要添加国外的定制APN信息。 2、路径&#xff1a; SC200E_AP/QCM2290_Android12.0_R02_r004/QSSI.12/vendor/qcom/proprietary/commonsys/telephony-apps/etc/apns-conf.xml在上述路径中将APN信息添加即可。 3、路径 SC200E_AP\QCM2290_Andr…

【机器学习】【无监督学习——聚类】从零开始掌握聚类分析:探索数据背后的隐藏模式与应用实例

从零开始掌握聚类分析&#xff1a;探索数据背后的隐藏模式与应用实例 基本概念聚类分类聚类算法的评价指标&#xff08;1&#xff09;内部指标轮廓系数&#xff08;Silhouette Coefficient&#xff09;DB指数&#xff08;Davies-Bouldin Index&#xff09;Dunn指数 &#xff08…

git的卸载与安装

目录 一、Git的卸载 二、Git的安装 2.1.1 官网下载 2.1.2 镜像下载 ​编辑 2.2 安装 2.3 检验否安装成功 三、Git使用配置 一、Git的卸载 1.找到程序&#xff0c;卸载程序 2.找到Git&#xff0c;右键卸载 卸载完成&#xff01; 二、Git的安装 2.1.1 官网下载 网址&…

java+springboot+mysql高校社团网

项目介绍&#xff1a; 使用javaspringbootmysql开发的高校社团网&#xff0c;系统包含管理员、学生角色&#xff0c;功能如下&#xff1a; 管理员&#xff1a;登录系统&#xff1b;首页&#xff1b;用户管理&#xff1b;社团分类管理&#xff1b;社团信息管理&#xff08;社团…

Linux24.04 安装企业微信

今天工作需要把windows系统换成了linux&#xff0c;但是公司的沟通工具是企业微信。去企业微信官网看了&#xff0c;没有linux版本&#xff0c;只能想办法解决了&#xff0c;不然再换回去就太坑了。 方案 1、使用docker容器&#xff0c;2、使用deepin-wine 本人对docker不太熟…

C语言刷题

1. 题目描述 根据给出的三角形3条边a:b.c(a.b,c<100.000)&#xff0c;计算三角形的周长和面积。 输入描述: 一行&#xff0c;三角形3条边(能构成三角形)&#xff0c;中间用一个空格隔开. 输出描述: 一行&#xff0c;三角形周长和面积保留两位小数&#xff0c;中问用一个空…

NodeJs-fs模块

fs 全称为 file system &#xff0c;称之为 文件系统 &#xff0c;是 Node.js 中的 内置模块&#xff0c; fs模块可以实现与硬盘的交互&#xff0c;例如文件的创建、删除、重命名、移动&#xff0c;内容的写入读取等以及文件夹相关操作 写入文件 异步写入 // 导入fs模块const f…

MetaGPT中的教程助手:TutorialAssistant

1. 提示词 COMMON_PROMPT """ You are now a seasoned technical professional in the field of the internet. We need you to write a technical tutorial with the topic "{topic}". """DIRECTORY_PROMPT (COMMON_PROMPT "…

React第十九章(useContext)

useContext useContext 提供了一个无需为每层组件手动添加 props&#xff0c;就能在组件树间进行数据传递的方法。设计的目的就是解决组件树间数据传递的问题。 用法 const MyThemeContext React.createContext({theme: light}); // 创建一个上下文function MyComponent() {…

【密码学】AES算法

一、AES算法介绍&#xff1a; AES&#xff08;Advanced Encryption Standard&#xff09;算法是一种广泛使用的对称密钥加密&#xff0c;由美国国家标准与技术研究院&#xff08;NIST&#xff09;于2001年发布。 AES是一种分组密码&#xff0c;支持128位、192位和256位三种不同…

安卓FakeLocation模拟定位对WX小程序不生效

背景 Fake localtion模拟定位GPS 、 基站&#xff0c;对于某些地区活动消费券在WX H5 、小程序中不生效 设备环境 小米13PRO澎湃1 安卓14已ROOTMagisk面具 27Lsposed 1.9.2 Zygisk模式Guise 1.1.1 不生效场景 模拟GPS、基站&#xff0c;在百度地图&#xff0c;微信腾讯地区…

AIGC---------AIGC在数字孪生中的应用

跨越虚拟与现实&#xff1a;AIGC在数字孪生中的应用 引言 近年来&#xff0c;人工智能生成内容&#xff08;AIGC&#xff0c;Artificial Intelligence Generated Content&#xff09;与数字孪生&#xff08;Digital Twin&#xff09;的结合&#xff0c;成为科技界的热点。AIGC…

学习Guava库 学习实用示例 实例 核心提纲

学习Guava库 核心提纲: 1. 概览与入门 Guava库的介绍Guava的安装与依赖配置Guava的主要模块和功能概览 入门示例 2. 基本工具类 Preconditions&#xff1a;用于断言和参数检查Verify&#xff1a;用于验证对象状态 https://blog.csdn.net/ywtech/article/details/144491210 …

金仓数据库全攻略:简化部署,优化管理的全流程指南

金仓数据库 人大金仓&#xff08;KING BASE&#xff09;是一家拥有20多年数据库领域经验的公司&#xff0c;专注于数据库产品的研发和服务。公司曾参与多项国家级重大课题研究&#xff0c;如"863"计划、电子发展基金、信息安全专项等。其核心产品是金仓数据库管理系…

Python轻松获取抖音视频播放量

现在在gpt的加持下写一些简单的代码还是很容易的&#xff0c;效率高&#xff0c;但是要有一点基础&#xff0c;不然有时候发现不了问题&#xff0c;这些都需要经验积累和实战&#xff0c;最好能和工作结合起来&#xff0c;不然很快一段时间就忘的干干净净了&#xff0c;下面就是…

讯飞智文丨一键生成WordPPT

在当今数字化办公的浪潮中,Word和PPT已经成为职场人士日常工作的标配工具。然而,面对繁琐的内容编辑和格式调整任务,如何提升效率成了每个人的追求。而讯飞智文,一款结合人工智能技术的文字处理与演示文稿工具,正逐渐成为用户的得力助手。本文将详细介绍讯飞智文的功能特点…

2024数据库国测揭晓:安全与可靠的新标准,你了解多少?

2024年数据库国测的结果&#xff0c;于9月份的最后一天发布了。 对于数据库行业的从业者来说&#xff0c;国测是我们绕不过去的坎儿。那么什么是国测&#xff1f;为什么要通过国测&#xff0c;以及国测的要求有哪些&#xff1f; 这篇文章带大家一探究竟。 国测 自愿平等、客…

清理 zabbix 历史数据, 缩减 postgresql 空间

在 Zabbix 中使用 PostgreSQL 作为数据库后端时&#xff0c;随着监控数据的不断积累&#xff0c;数据库可能会变得非常大&#xff0c;从而导致存储空间紧张。为了清理 Zabbix 历史数据并缩减 PostgreSQL 空间&#xff0c;您可以按照以下步骤进行操作&#xff1a; 一、分析数据…

VMware ubuntu12.04怎么设置静态IP联网

记得刚开始学习嵌入式就是从ubuntu12.04的环境开始学习的C语言&#xff0c;当时没有弄清楚怎么设置静态IP联网&#xff0c;现在写一篇文章。 1.首先&#xff0c;关闭ubuntu的网络&#xff1b; 2.电脑使用的是wifi,将VMware桥接到该网卡上&#xff1b; 3.在虚拟机设置里面选择桥…

python 基于 docx 文件模板生成 docx 或 PDF 文件

需求背景 提供一个Word文档模板&#xff0c;使用python程序替换里边的占位符&#xff0c;替换内容包括文本和图片&#xff0c;然后输出docx或者PDF文件。 功能演示 输入示例 输出示例 实现程序 import os import shutil import subprocess import timefrom docx import Doc…