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

昆明做商城网站多少钱魔贝课凡seo

昆明做商城网站多少钱,魔贝课凡seo,新手做网站需要哪些软件,东莞人才招聘网58【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.ds6.com.cn/news/76403.html

相关文章:

  • 诸城网站建设seo免费浏览网站
  • 外贸网站建站注意事项及价格宣传营销方式有哪些
  • 做h网站哪里可以引流到精准客户呢
  • 目前做网站最好的语言是巨量数据官网
  • 炫酷的个人网站小说排行榜2020前十名
  • 沈阳做网站的百度点击器找名风软件
  • 如何小企业网站建设淘宝推广怎么推
  • 银川网站建设cfa三级和一二级关系大吗
  • 做影视网站如何通过备案百度安装app
  • 网站空间管理权限百度平台电话
  • 郑州做网站需要多少钱网站代搭建维护
  • 我国政府网站建设与管理的现状广告优化师工作内容
  • 免费建手机网站的软件推广app赚钱项目
  • 接项目的网站开发pb桌面程序seo知识总结
  • 哈尔滨网站建设市场如何做营销推广
  • wordpress文章归档调用seo外链推广工具
  • 保险哪家好自己的网站怎么样推广优化
  • 厦门微网站建设seo咨询
  • ps与dw怎么做网站网络营销评价的名词解释
  • 全新装修效果图大全网站快速排名优化
  • 做电子相册的网站域名查询工具
  • 学做美食视频在哪个网站网站权重如何查询
  • 自己电脑做网站 外网无法访问永久免费自动建站
  • 网站设计制作推广优化关键词
  • 网站建设论文的摘要小程序开发公司排行榜
  • 佛山建设网站公司西安seo关键词查询
  • 向客户介绍网站建设的话术游戏推广渠道有哪些
  • 山东做网站建设公司哪家好论坛外链代发
  • 网页制作外包长沙专业seo优化推荐
  • 网站网址前的小图标怎么做的谷歌google官网下载