继续过Hard题目.周五
| 。 | 45 | Jump Game II | 26.0% | Hard |
很好的题目。
https://discuss.leetcode.com/topic/3191/o-n-bfs-solution/2
| 85 | Maximal Rectangle | 26.1% | Hard |
这个解法真的是相当的好。
https://discuss.leetcode.com/topic/6650/share-my-dp-solution/2
| 233 | Number of Digit One | 27.3% | Hard |
这个解法非常好,也非常有技巧:
https://discuss.leetcode.com/topic/18054/4-lines-o-log-n-c-java-python
通过对某一个位置上面的1的个数累加,来完成。
| 57 | Insert Interval | 26.3% | Hard |
解法非常好。
http://www.cnblogs.com/charlesblc/p/6438698.html
| 37 | Sudoku Solver | 28.1% | Hard |
很好的解法:
https://discuss.leetcode.com/topic/11327/straight-forward-java-solution-using-backtracking
| 432 | All O`one Data Structure | 28.2% | Hard |
我也有大致的思路。这个里面的代码写的真是非常的精巧。
https://discuss.leetcode.com/topic/63827/c-solution-with-comments
class AllOne {
public:
void inc(string key) {
// If the key doesn't exist, insert it with value 0.
if (!bucketOfKey.count(key))
bucketOfKey[key] = buckets.insert(buckets.begin(), {, {key}});
// Insert the key in next bucket and update the lookup.
auto next = bucketOfKey[key], bucket = next++;
if (next == buckets.end() || next->value > bucket->value + )
next = buckets.insert(next, {bucket->value + , {}});
next->keys.insert(key);
bucketOfKey[key] = next;
// Remove the key from its old bucket.
bucket->keys.erase(key);
if (bucket->keys.empty())
buckets.erase(bucket);
}
void dec(string key) {
// If the key doesn't exist, just leave.
if (!bucketOfKey.count(key))
return;
// Maybe insert the key in previous bucket and update the lookup.
auto prev = bucketOfKey[key], bucket = prev--;
bucketOfKey.erase(key);
if (bucket->value > ) {
if (bucket == buckets.begin() || prev->value < bucket->value - )
prev = buckets.insert(bucket, {bucket->value - , {}});
prev->keys.insert(key);
bucketOfKey[key] = prev;
}
// Remove the key from its old bucket.
bucket->keys.erase(key);
if (bucket->keys.empty())
buckets.erase(bucket);
}
string getMaxKey() {
return buckets.empty() ? "" : *(buckets.rbegin()->keys.begin());
}
string getMinKey() {
return buckets.empty() ? "" : *(buckets.begin()->keys.begin());
}
private:
struct Bucket { int value; unordered_set<string> keys; };
list<Bucket> buckets;
unordered_map<string, list<Bucket>::iterator> bucketOfKey;
};
很不错。用了stl里面的list,然后用了里面的iterator,可以方便的++,--,insert和erase。
继续过Hard题目.周五的更多相关文章
- 3月2日 Linked List Cycle
今天星期天,准备好周一的PPT内容,再回来做题,以后考虑周末做一个APP或者微信帐号玩吧. 回到题目, Linked List Cycle,一个检查单项链表是否有环路的问题. 题目周五的时候就简单做过 ...
- #一周五# VS2015 CTP6, TFS2015 CTP1更新,老衣的开发工具汇总,2015 MVP 社区巡讲
又到周五,这一周博主我工作效率极高,每天更新博客一篇,<快速创建网站>系列已经进程大半了,希望这个系列能够对大家有所帮助.今天周五了,博主要休息一下,就给大家唠叨一下这段时间都发生了什么. ...
- #一周五# VS2015 CTP6, TFS2015 CTP1更新,老衣的开发工具汇总,2015 MVP 社区巡讲
又到周五,这一周博主我工作效率极高,每天更新博客一篇,<快速创建网站>系列已经进程大半了,希望这个系列能够对大家有所帮助.今天周五了,博主要休息一下,就给大家唠叨一下这段时间都发生了什么. ...
- 软件工程课堂作业(五)——终极版随机产生四则运算题目(C++)
一.升级要求:让程序能接受用户输入答案,并判定对错.最后给出总共对/错的数量. 二.设计思想: 1.首先输入答案并判断对错.我想到的是定义两个数组,一个存放用户算的结果,另一个存放正确答案.每输出一道 ...
- 软件工程课堂作业(二)续——升级完整版随机产生四则运算题目(C++)
一.设计思想: 1.根据题目新设要求,我将它们分为两类:一类是用户输入数目,根据这个数目改变一系列后续问题:另一类是用户输入0或1,分情况解决问题. 2.针对这两类要求,具体设计思路已在上篇博文中写出 ...
- 从实力的角度出发来思考这道AOP题目
文/楠木大叔 技术更迭,一往无前.技术人总是要不断学习以适应社会的发展和行业对我们的要求.每隔一段时间,就会有纷至沓来的新技术,新知识,新概念,我们应该如何应对,是被逼到墙角,还是主动出击? 导读 从 ...
- python基础练习题(题目 字母识词)
day22 --------------------------------------------------------------- 实例031:字母识词 题目 请输入星期几的第一个字母来判断一 ...
- 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- 谈谈一些有趣的CSS题目(十一)-- reset.css 知多少?
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
随机推荐
- (56) 解决字段设为readonly无法保存
问题描述:当一个字段设为readonly =True 后,在form表单,即使你用onchange方法改变了值但也不能保存到数据库当时.平时在这样的要求,form表单有些字段要展示给用户,但又要达到不 ...
- java内存管理之垃圾回收及JVM调优
GC(garbage Collector 垃圾收集器)作用:a.内存的动态分配:b.垃圾回收注:Java所承诺的自动内存管理主要是针对对象内存的回收和对象内存的分配. 一.垃圾标记 程序计数器.Jav ...
- ruby on rails错误undefined method `title' for nil:NilClass
首先搞清楚这句话,在 Ruby 中,方法分为 public.private 和 protected 三种,仅仅有 public 方法才干作为控制器的动作. 我的出错的代码例如以下: controlle ...
- python-Pymyslql-requests_html:把腾讯新闻的今日推荐和链接存进数据库
使用pumsql封装的部分功能 request_html:打开www.qq.com的例子 结果: PS:记得处理数据
- mybatis和hibernate的区别【转】
第一章 Hibernate与MyBatisHibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分. Mybatis 是另外一种优秀的 ...
- scikit-learn:3.5. Validation curves: plotting scores to evaluate models
參考:http://scikit-learn.org/stable/modules/learning_curve.html estimator's generalization error can b ...
- Binary operations #1
https://www.codewars.com/kata/binary-operations-number-1/train/csharp Your work is to write a method ...
- zzulioj--1716--毒(模拟水题)
1716: 毒 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 96 Solved: 43 SubmitStatusWeb Board Desc ...
- python网页问题
#django-admin不是个命令 添加环境变量 D:\Python36\Scripts #localhost加载失败 命令行 python manage.py runserver 0.0.0.0: ...
- hiho 1564 - 简单dfs + 宏的危害!!!
题目链接 H公司有 N 台服务器,编号1~N,组成了一个树形结构.其中中央服务器处于根节点,终端服务器处于叶子节点. 中央服务器会向终端服务器发送消息.一条消息会通过中间节点,到达所有的终端服务器.消 ...