括号匹配问题
刚起床看微博,陈利人又发了个题:
“括号匹配:给定字符串,输出括号是否匹配,例如,"()" yes;")(" no;"(abcd(e)" no;"(a)(b)" yes。要求必须用递归写,整个实现不可以出现一个循环语句。"
很多人都说用栈实现,太麻烦了吧,直接用递归自然堆栈就行了:
刚起床看微博,陈利人又发了个题:
“括号匹配:给定字符串,输出括号是否匹配,例如,"()" yes;")(" no;"(abcd(e)" no;"(a)(b)" yes。要求必须用递归写,整个实现不可以出现一个循环语句。"
很多人都说用栈实现,太麻烦了吧,直接用递归自然堆栈就行了:
今天开始学习redis代码,首先内存分配。
本以为它的内存分配会很复杂的,不过看样子比较简单,基本就是在malloc上面包了一层,不过也可选的可以使用tcmalloc进行内存分配了,据说google这个tcmalloc性能不错。
不多说了,show me the code.详见代码注释。
阅读全文...
最长公共子序列(lcs) 有些变种,比如最长递增子序列,求最小编辑距离;
类似vimdiff等也用的lcs基本原理,猜测可能是这样的:先按行求LCS,或者说编辑距离,然后对需要“编辑”的地方按行求编辑距离。
在review之前的书籍,所以把学到的顺手记录在这里了。
由最 优二叉搜索树可以延伸到3X,4X,nX搜素树,只不过在寻找最优子树的时候需要处理3,4的情况。
如果所有节点的概率都想等的话,直接构造完全二叉树就行了。
阅读全文...
2013年的第一天,依旧有点忙
从实习到现在1年半了,有所成长但是还没有达到预期的程度。
记得那年下火车踏上北京的土地的时候,给自己的誓言:5年后,给自己一张完美的答卷。
如今已过1.5,还剩3.5年,所剩的时间不多了,而要做的事情却还很多,很多,很多····
剩下的 时光愈是短暂,我愈要使之过的丰盈充实。
趁着年轻,希望我不会让自己失望!
此处记录一下在看ngx_times.c时的随手写下的注释。 阅读全文...
前段时间家里的座便器按下去后好一阵子才能弹起来,其影响为:
1. 声音很大吵人;
2. 随机出现弹不起来,得再去按一下才行;
3. 浪费水资源;
因此必须换了,之前一直没有时间,正好国庆在家没有出去玩。目测是因为里面的冲谁管弹簧坏了,所以到外面的水暖店里面买了个冲谁管,老板说都是通用的(赞),样子如下图: 阅读全文...
这个国庆准备猫在家充电了。刚发的工资果断用来配置东西了。
1.一个PHILIPS 23寸显示器,超薄的,宽屏可以显示2屏代码拉,爽!
2.道远便宜的台灯 配一个比台灯还贵的好视力灯泡,果断护眼开夜车!
3.一张转椅;
总结:一桌,一椅,一灯,一屏,一电脑,一码农····
白天求生存,晚上谋发展--经典
阅读全文...
之前整理的poll的实现原理,给内核代码做了个注释,linux 2.6.11代码貌似,后来偷懒没有写epool了,只是在代码里面分析了一下epoll,poll,select的区别。
下面是一张poll过程的草图,点击大图看清楚一些,太大了不太好显示:
好吧,其实这是个很简单的问题
好久没碰过C代码了,刚看到inet_ntoa(),突然想到这个应该是静态分配的内存,不用释放。但不知道是不是线程安全的,就是说一个线程一份buffer。 阅读全文...
希望此后的大学还能有几位这样的老师,纯洁的,不官样世俗的老师。http://blog.sunner.cn/to-south-after-10-years-teaching/
bless
回校这十多天一直很忙,感觉学校的节奏太慢了,看完带来的书后就感觉心慌,没事干闲的心慌···才发现已经适应了工作的节奏了
今天刚答辩完,改了张3号的火车票,就匆匆的准备离开哈尔滨了,不是不留恋,只是心底太憧憬前面的苦旅了,加上公司有事。
大学四年真的很快,快得让我没来得及静静的想想这四年的生活,以前在学校还偶尔一个人去学校旁的铁路上走走,回顾一下自己的生活,或者去咖啡馆坐一个下午,写写日记,发现现在回来都没有再跟北国这片土地留张照片了,明天走的时候记得拍张背影吧···出去了,就不回头 阅读全文...
关于基类构造函数调用虚函数实际调用的不是派生类的问题的原因
我们知道,类的构造函数里面编译器插入了很多代码,比如异常安全,虚函数表指针的设置,基类构造,等等。
而且,关键是这些代码时在任何用户的代码(非初始化)的地方之前插入的,问题就来了···
如果在基类构造函数里面调用基类的虚函数,那么,实际调用的却不像我们当初认为的多态效果,为什么呢?
下面看看编译怎么实现的就知道了····
阅读全文...
近期评论