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

自己做的网站竞价优化磁力猫搜索引擎入口官网

自己做的网站竞价优化,磁力猫搜索引擎入口官网,怎样做外贸网站建设,济宁嘉祥网站建设【LetMeFly】2671.频率跟踪器:俩计数哈希表 力扣题目链接:https://leetcode.cn/problems/frequency-tracker/ 请你设计并实现一个能够对其中的值进行跟踪的数据结构,并支持对频率相关查询进行应答。 实现 FrequencyTracker 类:…

【LetMeFly】2671.频率跟踪器:俩计数哈希表

力扣题目链接:https://leetcode.cn/problems/frequency-tracker/

请你设计并实现一个能够对其中的值进行跟踪的数据结构,并支持对频率相关查询进行应答。

实现 FrequencyTracker 类:

  • FrequencyTracker():使用一个空数组初始化 FrequencyTracker 对象。
  • void add(int number):添加一个 number 到数据结构中。
  • void deleteOne(int number):从数据结构中删除一个 number 。数据结构 可能不包含 number ,在这种情况下不删除任何内容。
  • bool hasFrequency(int frequency): 如果数据结构中存在出现 frequency 次的数字,则返回 true,否则返回 false

 

示例 1:

输入
["FrequencyTracker", "add", "add", "hasFrequency"]
[[], [3], [3], [2]]
输出
[null, null, null, true]解释
FrequencyTracker frequencyTracker = new FrequencyTracker();
frequencyTracker.add(3); // 数据结构现在包含 [3]
frequencyTracker.add(3); // 数据结构现在包含 [3, 3]
frequencyTracker.hasFrequency(2); // 返回 true ,因为 3 出现 2 次

示例 2:

输入
["FrequencyTracker", "add", "deleteOne", "hasFrequency"]
[[], [1], [1], [1]]
输出
[null, null, null, false]解释
FrequencyTracker frequencyTracker = new FrequencyTracker();
frequencyTracker.add(1); // 数据结构现在包含 [1]
frequencyTracker.deleteOne(1); // 数据结构现在为空 []
frequencyTracker.hasFrequency(1); // 返回 false ,因为数据结构为空

示例 3:

输入
["FrequencyTracker", "hasFrequency", "add", "hasFrequency"]
[[], [2], [3], [1]]
输出
[null, false, null, true]解释
FrequencyTracker frequencyTracker = new FrequencyTracker();
frequencyTracker.hasFrequency(2); // 返回 false ,因为数据结构为空
frequencyTracker.add(3); // 数据结构现在包含 [3]
frequencyTracker.hasFrequency(1); // 返回 true ,因为 3 出现 1 次

 

提示:

  • 1 <= number <= 105
  • 1 <= frequency <= 105
  • 最多调用 adddeleteOnehasFrequency 共计 2 * 105

方法一:俩计数哈希表

  • 使用一个哈希表val2times记录值val一共出现了多少次。
  • 使用一个哈希表times2times记录val2times中的每个times一共出现了多少次。

添加或删除元素时,更新val2times[val]的值,并更新times2times[val2times[val] (+diff)]的值。

询问是否存在出现了frequency次的数字时,直接返回times2times[frequency]是否非零。

  • 时间复杂度 O ( 1 ) / 操作 O(1)/操作 O(1)/操作
  • 空间复杂度 O ( n ) O(n) O(n)

AC代码

C++
class FrequencyTracker {
private:unordered_map<int, int> val2times, times2times;
public:FrequencyTracker() {}void add(int number, int diff=1) {int originalTimes = val2times[number];val2times[number] += diff;times2times[originalTimes]--;times2times[originalTimes + diff]++;}void deleteOne(int number) {if (val2times[number]) {add(number, -1);}}bool hasFrequency(int frequency) {return times2times[frequency];}
};
Python
# from collections import defaultdictclass FrequencyTracker:def __init__(self):self.val2times = defaultdict(int)self.times2times = defaultdict(int)def add(self, number: int, diff=1) -> None:originalTimes = self.val2times[number]self.val2times[number] += diffself.times2times[originalTimes] -= 1self.times2times[originalTimes + diff] += 1def deleteOne(self, number: int) -> None:if self.val2times[number]:self.add(number, -1)def hasFrequency(self, frequency: int) -> bool:return self.times2times[frequency] != 0

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/136922983

http://www.shuangfujiaoyu.com/news/26702.html

相关文章:

  • 看房自己的网站建设多少钱国外最好的免费建站
  • 网站开发项目合同青岛seo招聘
  • 钉钉如何做自己的网站常用于网站推广的营销手段是
  • 广西南宁公司网站制作微博营销的特点
  • 建设局焊工证怎么办理企业seo整站优化方案
  • 广告设计培训学校有哪些搜索引擎优化技术都有哪些
  • 带地板翻转的网站怎么做今日新闻最新消息
  • 石家庄城市建设投资中心网站官网关键词优化价格
  • 公司做网站都咨询哪些问题百度推广公司怎么代理到的
  • 网上购物网站制作seo搜索引擎优化期末考试
  • 国家最新发布优化疫情防控措施娄底seo
  • 网站建设色彩互联网培训班学费多少
  • 地方门户网站模版如何在网上做销售推广
  • 做市场的逛的网站提升关键词
  • 互联网网站建设价格企业邮箱怎么开通注册
  • 广西建设工程质量安全监督总站网站武汉百度百科
  • 公司网站建设需求分析google搜索引擎入口
  • 颜色搭配对网站重要性郑州抖音推广
  • 大连优化网站课程seo排名是什么意思
  • 秀洲住房与建设局网站精准营销的案例
  • 天津正规网站建设调试公司百度云群组
  • 做品牌特卖的网站泸州网站优化推广
  • 富阳网站建设怎样网页设计软件
  • 天津网站推广公司哪家好怎么建网站教程图解
  • 北京地铁优化网站关键词免费优化
  • wordpress网站模板网络推广软文怎么写
  • css3网站导航百度广告开户流程
  • 江苏省建设厅网站查询施工员证正规考证培训机构
  • 留电话咨询看房关键词优化推广策略
  • 有做网站看病的吗网站制作网站推广