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

leetcode_3092. 最高频率的 ID

https://leetcode.cn/problems/most-frequent-ids/description/

看到这个数据范围 最极端情况 如果nums全为一个数 并且数量取到最大 那么范围是10的10次方

需要longlong储存

这题主要运用了哈希表配合multiset实现 

哈希表主要用作存储某个数的出现次数 mst则用于记录出现次数并且对其进行排序 得到最大值

因为可能在增删过程中 会有不同的数出现相同的次数 并且删除特定数量的时候 需要改变数量 所以不可以用单纯的一个max变量储存最大值

class Solution {
public:vector<long long> mostFrequentIDs(vector<int>& nums, vector<int>& freq) {long long cnt[100001] = {0};  //用于存储出现次数  初始化为0;multiset<long long> mst;multiset<long long>::iterator iter;  //用于存储增删的数的位置vector<long long> ans;for ( int i = 0; i < nums.size(); ++i ){int x = nums[i];  //找到当前数组的数long long &c = cnt[x];  //记录出现次数iter = mst.find(c);  //找到这个数量在mst的位置if ( iter != mst.end() ){  //存在这个数量mst.erase( iter);}c += freq[i];  //更改数量mst.insert(c);  //重新加入mstans.push_back( *mst.rbegin() );}return ans;}
};

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

相关文章:

  • 鸿蒙仓颉环境配置(仓颉SDK下载,仓颉VsCode开发环境配置,仓颉DevEco开发环境配置)
  • 数据统计–图形报表(day11)
  • 源码分析之Openlayers样式篇CircleStyle类
  • 解决CentOS9系统下Zabbix 7.2图形中文字符乱码问题
  • AF3 FourierEmbedding类源码解读
  • vsftpd虚拟用户部署
  • MySQL 容器已经停止(但仍然存在),但希望重新启动它,并使它的 3306 端口映射到宿主机的 3306 端口是不可行的
  • 汇编实验·顺序程序设计
  • AIGC视频扩散模型新星:Video 版本的SD模型
  • HarmonyOS:通过(SQLite)关系型数据库实现数据持久化
  • 10. SpringCloud Alibaba Sentinel 规则持久化部署详细剖析
  • STM32更新程序OTA
  • MarsCode青训营打卡Day10(2025年1月23日)|稀土掘金-147.寻找独一无二的糖葫芦串、119.游戏队友搜索
  • vue(33) : 安装组件出错解决
  • ChatGPT结合Excel辅助学术数据分析详细步骤分享!
  • stm32f103 单片机(一)第一个工程
  • 云计算和服务器
  • Spring 框架:配置缓存管理器、注解参数与过期时间
  • Linux系统 C/C++编程基础——基于Qt的图形用户界面编程
  • 并发编程 - 线程同步(一)
  • PyTorch入门 - 为什么选择PyTorch?
  • leetcode刷题记录(八十六)——84. 柱状图中最大的矩形
  • Android GLSurfaceView 覆盖其它控件问题 (RK平台)
  • 开源鸿蒙开发者社区记录
  • 【Linux网络编程】传输层协议
  • 10个非常基础的 Javascript 问题
  • Mysql索引(学习自用)
  • eniops库中reduce函数使用方法
  • 阴沟翻船题——Longest Substring Without Repeating Characters
  • Jetpack Compose 和 Compose Multiplatform 还有 KMP 的关系