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

owasp 网站开发苏州企业服务平台

owasp 网站开发,苏州企业服务平台,做网站有什么框架,知名的摄影网站有哪些目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 这是我们在LeetCode75里遇到的第二道设计类题目,难度比上一次的设计题目要难上一些。 题目假设我们拥有一个从1开始的无限集…

目录

题目:

示例:

分析:

代码:


题目:

示例:

分析:

这是我们在LeetCode75里遇到的第二道设计类题目,难度比上一次的设计题目要难上一些。

题目假设我们拥有一个从1开始的无限集。

设计的这个类有两个调用函数,一个让我们将无限集中最小的数移出并返回,另一个函数让我们再将一个不在无限集里的数添加会无限集里。

那么题目有给出条件,重新加回无限集的数不会大于100,并且调用次数的总和不会超过1000次。

那么我们可以直接拿一个数组来存放1000个数字来模拟无限集,因为就算1000次调用的都是移除最小值,那么1000个数字也是刚好够移除的。

不过这仅仅是理论可行,因为直接模拟的话,是会超时的。

我们可以逆向思考一下,我们不存放存在无限集的数字,我们存放被移出无限集的数字。

并且我们使用set来存放,这样每次移除最小数的时候,我们从1开始寻找set,如果数字不在set里,那么我们就把数字加入到set里来表示这个数被我们移除了。

添加回无限集的时候就更简单了,我们直接寻找要添加的数在不在我们的set里,如果在,我们就把set里的这个数字移除来表示添加回无限集里,因为set里存放的是被移出无限集的数,这样可能有点绕,大家结合着下面的代码再捋一捋。

代码:

class SmallestInfiniteSet {
public:unordered_set<int>jihe; //存放的实际上是被移出无限集的元素SmallestInfiniteSet() {}int popSmallest() {int i=1;while(jihe.find(i)!=jihe.end()){    //从1开始寻找没有被移出无限集的数,第一个找到的就是最小数i++;}jihe.insert(i); //找到之后插入set表示该数被移出无限集return i;}void addBack(int num) {//如果该数在set里,也就是被无限集移出了,那么我们再将其移出set表示重新加回无限集里if(jihe.find(num)!=jihe.end()){ jihe.erase(num);}}
};

http://www.yayakq.cn/news/924956/

相关文章:

  • 电子商务网站建设与管理课后答案开发软件的流程
  • 做网站的是什么软件手机下载app并安装
  • 制作软件网站北京网站优化推广方案
  • 哪个网站做高中的题好网页制作素材动漫
  • 网站建设论文任务书哪些网站教做生物实验
  • 宝安中心做网站wordpress ajax不支持ie
  • 国外的有趣设计网站百度搜索竞价
  • 上传网站视频要怎么做才清楚教如何做帐哪个网站好
  • 双阳区住房和城乡建设局网站北京大兴网站建设首选公司
  • 建立自己的网站软件有网站关键词快速排名技术
  • 网站搭建语言佛山新网站建设方案
  • 网站登录系统怎样做域名打不开网站
  • 网匠网站建设有限公司中建人才网
  • 景安网站备案表格wordpress投资主题公园
  • 招聘网站建设工作总结广州互联网
  • wordpress全站静态页面最流行的网站开发框架
  • 珠海斗门建设局官方网站如何做网课网站
  • 电子商务上班干什么seo教程技术整站优化
  • 长春网站建设报价做网站编辑好还是推广好
  • 电子商务网站建设的成本分析牡丹江最新信息网
  • 公司网站制作怎么弄wordpress淘宝客主题
  • 重庆家政公司网站建设从事电子商务的网站建设
  • 泉州做网站的公司黄冈网站建设公司
  • 廊坊网站seo网站建设说明书模板
  • 柯城建设局网站创建全国文明城市方案
  • 宁波市住宅建设集团网站中国设计网网址
  • 加强财政门户网站建设工作查销售数据的网站
  • 河南网站建设公司排名建立自己的WordPress主题
  • 有人拉我做彩票网站网站缩放代码
  • 手机便宜的网站建设在线学习建设网站