leetcode每日一题2671

目录

一.题目原型

二.思路解析:

三.具体代码实现:


一.题目原型

 

二.思路解析:

 其实我们可以用两个哈希表来解决这道题,一个哈希表hash1用来存这个数字出现了几次。另一个哈希表hash2用来存出现了几次的次数有几次,由于题目给的number和frequency都不是很大,我们可以用数组模拟unordered_map.

vector<int> freq;(记录数字出现的次数)

vector<int> freq_cnt;(记录次数的次数)

如果一个数字出现了,那么原来次数的次数就要少一次,原来次数+1的次数就要多一次,freq_cnt[freq[i]]--

接着freq【i】++

刚好使这个数字的次数加一,那么可以直接freq_cnt[freq[i]]++;

如果一个数字要删除,那么原来的次数的次数要少一次,原来次数-1的次数就要多一次;

freq_cnt[freq[i]]--

freq[i]-- ;

freq_cnt[freq[i]]++

三.具体代码实现:

class FrequencyTracker {
public:FrequencyTracker():freq(N), freq_cnt(N) {}void add(int number) {--freq_cnt[freq[number]];++freq[number];++freq_cnt[freq[number]];}void deleteOne(int number) {if (freq[number] == 0) {return;}--freq_cnt[freq[number]];--freq[number];++freq_cnt[freq[number]];}bool hasFrequency(int frequency) {return freq_cnt[frequency];}private:static const int N = 100001;vector<int> freq;vector<int> freq_cnt;
};

 

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

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

相关文章

顶级域名类型有哪几种?顶级的域名是什么

域名有很多级别&#xff0c;如顶级域名、一级域名、二级域名、三级域名等&#xff0c;每个域名都有不同的使用级别&#xff0c;所以选择很重要适合您的那一款。 接下来新网小编就来告诉大家什么是顶级域名&#xff1f; 顶级域名有哪些类型&#xff1f; 什么是顶级域名&#xf…

手撕算法-买卖股票的最佳时机 II(买卖多次)

描述 分析 使用动态规划。dp[i][0] 代表 第i天没有股票的最大利润dp[i][1] 代表 第i天持有股票的最大利润 状态转移方程为&#xff1a;dp[i][0] max(dp[i-1][0], dp[i-1][1] prices[i]); // 前一天没有股票&#xff0c;和前一天有股票今天卖掉的最大值dp[i][1] max(dp[i-1…

vscode配置c/c++调试环境

本文记录win平台使用vscode远程连接ubuntu server服务器下&#xff0c;如何配置c/c调试环境。 过程 1. 服务器配置编译环境 这里的前置条件是vscode已经能够连接到服务器&#xff0c;第一步安装编译构建套件&#xff08;gcc、g、make、链接器等&#xff09;和调试器&#xf…

WorkPlus一站式的企业IM系统,推动企业协作与创新发展

在当代企业中&#xff0c;高效的内部通讯和协作对于企业的发展至关重要。而企业IM系统&#xff0c;作为实现内部信息交流和协作的重要工具&#xff0c;WorkPlus以其卓越的性能和功能&#xff0c;助力企业打造高效沟通与协作平台。WorkPlus提供了全面的企业IM系统解决方案。不论…

(三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练

这里写目录标题 一、colmap解算数据放入高斯1. 将稀疏重建的文件放入高斯2. 将稠密重建的文件放入高斯 二、vkitti数据放入高斯 一、colmap解算数据放入高斯 运行Colmap.bat文件之后&#xff0c;进行稀疏重建和稠密重建之后可以得到如下文件结构。 1. 将稀疏重建的文件放入高…

javaWeb奶茶商城前后台系统

一、简介 在当前数字化时代&#xff0c;电子商务已成为人们生活中不可或缺的一部分。为了满足用户对奶茶的需求&#xff0c;我设计并实现了一个基于JavaWeb的奶茶商城前后台系统。该系统涵盖了用户前台和管理员后台两大模块&#xff0c;包括登录注册、商品展示、购物车管理、订…

OpenCV学习笔记(十二)——绘制颜色直方图以及颜色空间的转换

颜色直方图 颜色直方图是计算机视觉以及图像处理中一个重要的内容&#xff0c;颜色直方图可以反映图像颜色的统计分布以及基本色调&#xff0c;通过颜色直方图可以清晰的看到各个区间的像素有多少。颜色直方图是一种全局特征&#xff0c;反映了图像或某个区域的总体颜色属性&a…

Navicat 干货 | 探索 PostgreSQL 的外部数据包装器和统计函数

PostgreSQL 因其稳定性和可扩展性而广受青睐&#xff0c;为开发人员和数据管理员提供了许多有用的函数。在这些函数中&#xff0c;file_fdw_handler、file_fdw_validator、pg_stat_statements、pg_stat_statements_info 以及 pg_stat_statements_reset 是其中的重要函数&#x…

【python 装饰器 - 重试】做一个简易重试装饰器,如果函数执行错误则会自动重新执行,可设置重试次数,对爬虫比较友好

文章日期&#xff1a;2024.03.19 使用工具&#xff1a;Python 类型&#xff1a;装饰器 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 AES解密处理&#xff08;直接解密即可&#xff09;&#xff08;crypto-js.js 标准算法&#xff09;&…

数据容器-序列-集合-Python

师从黑马程序员 序列 序列的常用操作-切片 切片&#xff1a;从一个序列中&#xff0c;取出一个子序列 语法&#xff1a;序列[起始下标:结束下标&#xff0c;步长] 注&#xff1a;此操作不会影响序列本身&#xff0c;而是会得到一个新的序列 my_list[0.1,2,3,4,5,6] result1…

谧林涓露门禁

原神武器升级材料谧林涓露和门禁好像聂。 difference(){union(){cylinder(2, 10,10, $fn365);hull(){translate([15,0,0])cylinder(1,2,2,$fn365);cylinder(1,10,10,$fn365);}}translate([15,0,-1])cylinder(4,1,1,$fn365); }

UDP建立聊天群

参考网上代码 接收端 #include<myhead.h> #define PRINT_ERR(msg) \ do \ { \ printf("%s,…