当前位置: 首页 > news >正文

每日一题144——数组大小减半

给你一个整数数组 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 <= 105
arr.length 为偶数
1 <= arr[i] <= 105

代码:

class Solution {
public:int minSetSize(vector<int>& arr) {int n = arr.size(),k = 0,sum = 0;vector<int> ans(1000001,0);for(int i=0;i<n;i++){ans[arr[i]]++;}sort(ans.begin(),ans.end());for(int i=ans.size()-1;i>=0;i--){k++;sum += ans[i];if(sum >= n/2) break;}return k;}
};

http://www.lryc.cn/news/66535.html

相关文章:

  • 运维必懂的13条高效工作秘诀
  • 【牛客刷题专栏】0x26:JZ25 合并两个排序的链表(C语言编程题)
  • 5/5~5/7总结
  • 重要通知|Sui测试网将于5月11日重置
  • 教你快速把heic格式转化jpg,4种方法操作简单
  • 交互式数据分析和处理新方法:pandas-ai =Pandas + ChatGPT
  • FIR滤波
  • Python小姿势 - Python中的类型检查
  • 人工智能前景
  • python并发编程学习笔记--生产者消费者模型 day02
  • 彩蛋丨利用R语言脚本实现批量合并Excel表格,再也不用手动点来点去了!
  • 深入学习MYSQL-数据操纵及视图
  • 深入讲解eMMC简介
  • ICV:中国车载超声波雷达市场规模预计2024年可达20亿美元
  • PointNet:利用深度学习对点云进行3D分类和语义分割
  • 第四十二章 Unity 下拉框 (Dropdown) UI
  • STL常用梳理——STACK、QUEUE
  • Unity物理系统基本概念
  • 防止表单重复提交的几种方式,演示一个自定义注解方式的实现
  • 《基于智能手机采集的PPG信号预测血管老化》阅读笔记
  • 【大数据-调度工具】dolphinscheduler安装和遇到的问题
  • 滑动轨迹生成的思路和代码分享-测试可过极验 90%机率
  • 【Linux】项目自动化构建工具make/makefile
  • 【系分范文】论软件需求获取技术以及应用
  • vue2.0中post请求
  • MySQL双写缓冲区(Doublewrite Buffer)
  • 免费开源的Umi-OCR 文字识别工具
  • 如何让微信小程序弹窗滚动条设置在最上面
  • c语言-指针
  • Jenkins集成SonarQube实现代码质量检查