摘要:
创建定时任务: 1 root@xxj-VirtualBox:~# crontab -l 2 # Edit this file to introduce tasks to be run by cron. 3 # 4 # Each task to run has to be defined throu... 阅读全文
摘要:
Passwords are widely used in our lives: for ATMs, online forum logins, mobile device unlock and door access. Everyone cares about password security. H... 阅读全文
摘要:
类型1有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动任意的2堆石子合并,合并花费为新的一堆石子的数量。设计一个算法,将这N堆石子合并成一堆的总花费最小(或最大)。 此类问题比较简单,就是哈夫曼编码的变形,用贪心算法即可求得最优解。即每次选两堆最少的,合并成新的一堆,直到只剩一堆为止。... 阅读全文
摘要:
由0-9表示的数字串,现使其中4个数字不可用,用余下的数字进行重编码。写出编码和解码函数。前缀编码,前5个剩下的编码用一个数字编码。最后一个以及不可用的4个数字,用两个数字进行编码。 1 class Coding { 2 public: 3 void init(int unc... 阅读全文
摘要:
拓扑排序要用list,不能用vector,确保删除边的开销为O(1)。因为主循环中,总共要从队列中pop掉n个数(点),然后总共要删e条边,删点和边的开销都是O(1)。所以整个时间复杂度就是O(n+e)。如果最终还剩下边,证明存在环,sort失败。 1 bool sort(list > &graph... 阅读全文
摘要:
之前有转过一篇:http://www.cnblogs.com/linyx/p/3638222.html这里按wiki的实现写一遍。解一下下面这道题。假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友…),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共... 阅读全文
摘要:
波兰式,操作符放在操作数前。逆波兰式,操作符放在操作数后。中序的话,用两个栈,一个存操作符, 一个存操作数,根据操作符优先级来操作。为了处理边界情况,在操作符的栈底和栈顶都放了一个"#"。伪代码如下: 1 stack ops; 2 stack nums; 3 ops.push('#'); 4 5 ... 阅读全文
摘要:
C++异常当然可以通过try...catch处理,不过没有finally关键词。C++资源的释放可以通过RAII实现。RAII,也称为“资源获取就是初始化”,是c++等编程语言常用的管理资源、避免内存泄露的方法。它保证在任何情况下,使用对象时先构造对象,最后析构对象。Destructors shou... 阅读全文