LeetCode2671. Frequency Tracker

文章目录

    • 一、题目
    • 二、题解

一、题目

Design a data structure that keeps track of the values in it and answers some queries regarding their frequencies.

Implement the FrequencyTracker class.

FrequencyTracker(): Initializes the FrequencyTracker object with an empty array initially.
void add(int number): Adds number to the data structure.
void deleteOne(int number): Deletes one occurrence of number from the data structure. The data structure may not contain number, and in this case nothing is deleted.
bool hasFrequency(int frequency): Returns true if there is a number in the data structure that occurs frequency number of times, otherwise, it returns false.

Example 1:

Input
[“FrequencyTracker”, “add”, “add”, “hasFrequency”]
[[], [3], [3], [2]]
Output
[null, null, null, true]

Explanation
FrequencyTracker frequencyTracker = new FrequencyTracker();
frequencyTracker.add(3); // The data structure now contains [3]
frequencyTracker.add(3); // The data structure now contains [3, 3]
frequencyTracker.hasFrequency(2); // Returns true, because 3 occurs twice

Example 2:

Input
[“FrequencyTracker”, “add”, “deleteOne”, “hasFrequency”]
[[], [1], [1], [1]]
Output
[null, null, null, false]

Explanation
FrequencyTracker frequencyTracker = new FrequencyTracker();
frequencyTracker.add(1); // The data structure now contains [1]
frequencyTracker.deleteOne(1); // The data structure becomes empty []
frequencyTracker.hasFrequency(1); // Returns false, because the data structure is empty

Example 3:

Input
[“FrequencyTracker”, “hasFrequency”, “add”, “hasFrequency”]
[[], [2], [3], [1]]
Output
[null, false, null, true]

Explanation
FrequencyTracker frequencyTracker = new FrequencyTracker();
frequencyTracker.hasFrequency(2); // Returns false, because the data structure is empty
frequencyTracker.add(3); // The data structure now contains [3]
frequencyTracker.hasFrequency(1); // Returns true, because 3 occurs once

Constraints:

1 <= number <= 105
1 <= frequency <= 105
At most, 2 * 105 calls will be made to add, deleteOne, and hasFrequency in total.

二、题解

class FrequencyTracker {
public:unordered_map<int,int> map;unordered_map<int,int> freq;FrequencyTracker() {}void add(int number) {freq[map[number]]--;map[number]++;freq[map[number]]++;}void deleteOne(int number) {if(map[number] >= 1){freq[map[number]]--;map[number]--;freq[map[number]]++;}}bool hasFrequency(int frequency) {return freq[frequency] >= 1;}
};/*** Your FrequencyTracker object will be instantiated and called as such:* FrequencyTracker* obj = new FrequencyTracker();* obj->add(number);* obj->deleteOne(number);* bool param_3 = obj->hasFrequency(frequency);*/

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

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

相关文章

前端视角如何理解“时间复杂度O(n)”

定义 时间复杂度是O(n) 意味着算法的执行时间与输入数据的大小成正比。 这里的n表示输入数据的数量。 假设有一个数组&#xff0c;需要遍历这个数组并打印出每个元素的值。 这个操作的时间复杂度就是O(n)&#xff0c;因为你需要执行n次操作&#xff0c;其中n是数组的长度。 …

力扣由浅至深 每日一题.11 加一

少年气&#xff0c;是历经千帆举重若轻地沉淀&#xff0c;也是乐观淡然笑对生活的豁达 —— 24.3.22 加一 给定一个由 整数 组成的 非空 数组所表示的非负整数&#xff0c;在该数的基础上加一。 最高位数字存放在数组的首位&#xff0c; 数组中每个元素只存储单个数字。 你可以…

IPC通信--socket

1.windows环境 在C中&#xff0c;Windows环境下实现socket通信的客户端与服务端的流程如下&#xff1a; 创建套接字&#xff1a;使用socket()函数创建一个套接字。绑定套接字&#xff1a;使用bind()函数将套接字与一个地址&#xff08;IP和端口&#xff09;绑定在一起。监听连…

基于Gabor滤波器的指纹图像识别,Matlab实现

博主简介&#xff1a; 专注、专一于Matlab图像处理学习、交流&#xff0c;matlab图像代码代做/项目合作可以联系&#xff08;QQ:3249726188&#xff09; 个人主页&#xff1a;Matlab_ImagePro-CSDN博客 原则&#xff1a;代码均由本人编写完成&#xff0c;非中介&#xff0c;提供…

2024年【山东省安全员C证】考试试卷及山东省安全员C证复审模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 山东省安全员C证考试试卷是安全生产模拟考试一点通生成的&#xff0c;山东省安全员C证证模拟考试题库是根据山东省安全员C证最新版教材汇编出山东省安全员C证仿真模拟考试。2024年【山东省安全员C证】考试试卷及山东省…

一个线程可以有几个Handler,几个Looper,几个MessageQueue对象?

一个线程可以有多个Handler&#xff0c;但是只有一个Looper对象,只有一个MessageQueue对象。 在Looper的prepare方法中创建了Looper对象&#xff0c;并放入到ThreadLocal中&#xff0c;并通过ThreadLocal来获取looper的对象, ThreadLocal的内部维护了一个ThreadLocalMap类, 里…

【Linux】信号的处理{信号处理的时机/了解寄存器/内核态与用户态/信号操作函数}

文章目录 0.对于信号捕捉的理解1.信号处理的时机1.1 何时处理信号&#xff1f;1.2 内核态和用户态1.3 内核态和用户态的切换 2.了解寄存器3.信号捕捉的原理4.信号操作函数4.1sighandler_t signal(int signum, sighandler_t handler);4.2int sigaction(int signum, const struct…

express+mysql+vue,从零搭建一个商城管理系统15--快递查询(对接快递100)

提示&#xff1a;学习express&#xff0c;搭建管理系统 文章目录 前言一、安装md5&#xff0c;axios二、新建config/logistics.js三、修改routes/order.js四、查询物流信息五、试错与误区总结 前言 需求&#xff1a;主要学习express&#xff0c;所以先写service部分 快递100API…

工业项目中你连DCS系统都没见过?

什么是DCS DCS&#xff0c;即分散控制系统&#xff0c;是一种用于监控和控制工业过程的系统。它通过连接多个控制器、传感器和执行器实现自动化控制&#xff0c;提高生产效率和安全性。在中国&#xff0c;随着工业化和自动化水平的提高&#xff0c;DCS技术得到了广泛应用和快速…

创建Message对象的方式及区别?Message.obtain()怎么维护消息池 ?Handler 有哪些发送消息的方法?

Message对象创建的方式有哪些&#xff0c; 区别&#xff1f; 直接new一个obtain&#xff08;&#xff09;方法获取handler.obtainMessage()方法获取。 下面两个方式是从对象池中获取&#xff0c;可以避免message对象重复的创建。 Message.obtain()怎么维护消息池的Handler &…

外包干了10天,技术倒退明显

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

推免保研夏令营/预推免面试记录—北大软微

0x00简述 0x01 面试经历 0x02 相关资料下载 0x00简述 0x01 面试经历 0x02 相关资料下载 挖坑待写

SpringMVC 简介及入门级的快速搭建详细步骤

MVC 回顾 MVC&#xff0c;即Model-View-Controller&#xff08;模型-视图-控制器&#xff09;设计模式&#xff0c;是一种广泛应用于软件工程中&#xff0c;特别是Web应用开发中的架构模式。它将应用程序分为三个核心组件&#xff1a; Model&#xff08;模型&#xff09;&#…

面试问答示范

文章目录 请做个自我介绍您的学历是统招吗&#xff1f;可以在学信网查询吗是全日制吗是双证吗&#xff1f;请介绍一下你上家公司的情况。介绍一下你们公司的服务器架构&#xff08;网络架构&#xff09;。说说你在工作中处理过的最棘手的技术问题讲一讲上家公司做过的项目为什么…

网络安全作业4

title: 文件上传/文件包含漏洞学习 date: 2016-04-25 21:52:19 categories: 安全 tags: Web安全 ** 文件上传漏洞 ** 在Web程序中&#xff0c;经常需要用到文件上传的功能。如用户或者管理员上传图片&#xff0c;或者其它文件。如果没有限制上传类型或者限制不严格被绕过&…

代码随想录笔记|C++数据结构与算法学习笔记-哈希表(一)|有效的字母异位词、两个数组的交集、快乐数、两数之和、四数相加II

文章目录 242.有效的字母异位词哈希法解法解题思路伪代码c代码 349.两个数组的交集set解决伪代码c代码 数组解决 202.快乐数思路伪代码讲解C代码 1.两数之和思路map解题过程伪代码C代码 454.四数相加II整体思路map解题过程注意事项伪代码C代码 《代码随想录链接》 本文基于代码…

PagePlug多条件查询方案

正确实现 使用Case When来编写查询条件 SELECT * FROM pc_ticket_tax_cloud WHERE 11 AND (CASE WHEN {{data_table.searchText ! }} THEN xsddm like {{data_table.searchText || ""}}%ELSE 11 END ) AND (CASE WHEN {{doc_code_input.text ! }} THEN doc_code li…

【C语言算法】求逆序对数目(C语言+归并排序)

题目描述 Background Raymond Babbitt drives his brother Charlie mad. Recently Raymond counted 246 toothpicks spilled all over the floor in an instant just by glancing at them. And he can even count Poker cards. Charlie would love to be able to do cool thin…

代码随想录Day31

Day 31 贪心算法 Part01 今日任务 455.分发饼干 摆动序列 最大子序和 代码实现 455.分发饼干 //自己想的&#xff0c;虽然看着不让代码随想录给出的解法简洁&#xff0c;但是理论是一样的public int findContentChildren(int[] g, int[] s) {Arrays.sort(g);Arrays.sort(…

Git浅谈配置文件和免密登录

一、文章内容 简述git三种配置ssh免密登录以及遇见的问题git可忽略文件git remote 相关操作 二、Git三种配置 项目配置文件(局部)&#xff1a;项目路径/.git/config 文件 git config --local user.name name git config --local user.email 123qq.cc全局配置文(所有用户): …