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

安徽工程信息网官网首页天门seo

安徽工程信息网官网首页,天门seo,网站做集群,河北提供网站建设公司哪家好文章目录 刷题前唠嗑题目:无限集中的最小数字题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode?启动!!! 今天的题目也比较的简单,因为数据量不大,所以什么做法都能过的去 题目&a…

文章目录

  • 刷题前唠嗑
  • 题目:无限集中的最小数字
    • 题目描述
    • 代码与解题思路
    • 偷看大佬题解
  • 结语

刷题前唠嗑


LeetCode?启动!!!

今天的题目也比较的简单,因为数据量不大,所以什么做法都能过的去

题目:无限集中的最小数字

题目链接:2336. 无限集中的最小数字

题目描述

代码与解题思路

type SmallestInfiniteSet struct {mp map[int]boolless int
}func Constructor() SmallestInfiniteSet {tmp := map[int]bool{}for i := 1; i < 1001; i++ {tmp[i] = true}return SmallestInfiniteSet{mp: tmp,less: 1,}
}func (this *SmallestInfiniteSet) PopSmallest() int {this.mp[this.less] = falsetmp := this.lessfor i := 1; i < 1001; i++ {if this.mp[i] == true {this.less = ibreak}}return tmp
}func (this *SmallestInfiniteSet) AddBack(num int)  {this.mp[num] = trueif num < this.less {this.less = num}
}

好吧,我承认我的代码确实是有点屎山,具体来说就是开一个 1000 的 map,然后暴力模拟出来,这种做法和 C++ 直接用 set 自动排序,然后往 set 里面插入 1000 条数据然后 pop 和 push 没啥区别。。非常的暴力

很难过,刷了大半年算法了,磕磕碰碰还是只会暴力解题,哭了,但是看到题目说数据量只有 1000,这谁能忍得住呀呜呜

偷看大佬题解

class SmallestInfiniteSet {
public:vector<bool> vis;priority_queue<int, vector<int>, greater<int>> q;int idx;SmallestInfiniteSet() : idx(1) {vis.resize(1010, false);}int popSmallest() {int ans = -1;if (!q.empty()) {ans = q.top();q.pop();vis[ans] = false;} else {ans = idx++;}return ans;}void addBack(int x) {if (x >= idx || vis[x]) return;if (x == idx - 1) {idx--;} else {q.push(x);vis[x] = true;}}
};

比较操蛋的事情,大佬的题解如果用 go 来实现,那代码量估计是不小,go 可没有给堆,要我手撕一个那我可又要写屎山了,所以就用 C++ 代码冒充一下,孩子的 C++ 功底还是在的(大概,也可能已经忘光了)

主要的思路是这样的,通过一个 bool 数组来记录这个数是否存在,通过一小根堆的优先级对列维护一个小堆,让我们能 log(N) 的获取存在的最小数。

结语

想念 STL 了,C++ 确实是最好写算法的语言

http://www.15wanjia.com/news/11346.html

相关文章:

  • 湛江网站建设方案服务汽车网站建设
  • 做seo的网站seo顾问服
  • 济阳县住房和城乡建设管理委员会网站人工智能培训一般多少钱
  • 建设银行网站注销吗seo推广技术培训
  • 做网站用属于前端下载百度 安装
  • 怎么做黑彩黑彩网站seo课程总结怎么写
  • 沈阳微网站seo技术快速网站排名
  • 提升网站的访问速度百度推广账号登录
  • 1空间做2个网站seo技术分享
  • 国外网站入口百度工具seo
  • 做网站的流程视频做一个网站要花多少钱
  • 天津如何做百度的网站推广微信公众号怎么开通
  • wordpress 去掉版权seo标题优化
  • 怎么在windows做网站电脑培训网上免费课程
  • 免费学校网站系统网页设计怎么做
  • 做网站带阿里云服务器多少钱中国新闻
  • 公司有域名 如何做网站网站优化分析
  • 住房城市建设网站app营销
  • 免费无限建站网络推广搜索引擎
  • 宁波网站关键词优化公司郴州seo
  • html表格的完整代码郑州网站seo外包公司
  • 做网站是否需要自购服务器网站seo诊断工具
  • 做网站的电脑软件服务器ip域名解析
  • 网站备案抽查各大网站收录提交入口
  • 怎样把有用网站做图标放在桌面杭州网站优化效果
  • 石家庄专门做网站的公司网络舆情分析研判报告
  • 什么作为国内的主要门户网站企业网站设计素材
  • 个人网站主页怎么做网站推广平台
  • 欧 美 做 爱 视频网站腾讯广点通
  • 北京做网站好的百度指数在哪里看