My MSN

Click OK to add this content

 
Content Preview: rss
-+处女面感想
6 days ago
处女面结束了,总结如下: 没有展现出自己的problem solving,coding skills 也许题目太简单是一个原因,更重要的是确实有心理因素的影响,放在平时,我肯定会把方方面面都想到,再下笔写code。今天面试的时候急了,第一个behavior问题只回答了准备的一半,想省些时间来多做一些题;看见了简单题目就想立马写完做下一道,结果有些case没有handle到,尽管我做的快,可是也就只有那么一道题,剩下的时间都在聊天。。。。。。 一定要吸取教训!再简单的题目,做前一定要多问interview把spec搞清楚,先预见有哪些cases要handle,包括预见要handle的错误,然后再开写!还有就是,最后还是时间的时候,完全可以再要一道题来做,光是聊天没意思啊。。。 其实我事先准备的时候这些都知道,怎么真实的面试的时候就忘了呢。。。还是心理因素。。。按照我事先的准备正常发挥的话,应该说是可以做到perfect的。。。而现在,只有希望运气好了。。。 sigh,要认真吸取这个教训,下星期一的面试肯定也不会有很多题目,每个题目时间绝对够,在电脑上写code也很适合我,一定要做到perfect! 唉,还是很郁闷。。。
-+梦里被人追杀
12 days ago
仿佛和两三个朋友一伙,莫名其妙的遭到一个黑社会的追杀,记得有一片森林,冲出森林便是片海滩,激浪中登上只小船,但又担心黑社会的人乘快艇追上来,有人说黑社会的人追不上来,继续往前划船,又有人说肯定会被追上,必须马上回岸跑进丛林躲避。船就在两股意见中不停的原地旋转,即没法前进,又没法后退,心里急得要死。这情形像是不里丹的毛驴,在两堆稻草中犹豫不知道吃哪堆最后饿死掉。 忘了说,场景是在漆黑的夜里,真的是漆黑,除了感受到海里的浪,什么都看不见。最终还是划回了岸上,沿着沙滩飞奔。突然察觉到,后面不远的地方,黑社会的人已经冲出丛林了并且也发现了我们的踪迹!没法,唯一的办法就是钻进漆黑的丛林,歇斯底里的跑,期望着黑夜能给我们打点遮掩。可是跑进丛林才发现,那真是纯黑一片的深手不见五指的黑,连自己的同伴,前面的路都看不见,后面又有追兵,那种漆黑中的慌乱和无助惊恐,实在是没法感同身受的描述出来。 无奈只能继续在那片森林里飞奔,不顾一切的飞奔,要知道,不跑的话就是等死,跑的不够快的话,脚步声就成了敌人追踪的最好引路标。就这样在恐惧的驱使下不知道跑了多久,恐惧完全把疲劳压下去了,幸运的是还没跟自己的队友跑散,不幸的是,始终隐隐约约的感觉到,黑社会的人还在身后跟着。 最终跑出来森林,跑进一个大体育馆,又像是个大健身房,还像一个大仓库,简而言之就是电影里单挑枪战的最佳场所。我们在不同的遮蔽物之间穿梭来穿梭去,竭尽全力的在隐蔽自己的同时想摆脱追捕。在快要跑出房间的最后几个遮挡物的位置,我跟同伴跑散了,而且,黑社会的头子追上来了!也许是在恐惧中憋了太久,我猛地爆发了,狗的黑社会,老子怕你索!举起身边的椅子朝黑社会大佬砸过去!暴怒之下必有勇夫啊,黑老大很轻易的就给打晕了,而我才又陷入了心理的纠结中,我要是留下黑老大活口,就算这会儿跑了出去,以后那是肯定终生被黑社会追杀,终生活在恐惧和担心之中!而我又没法下狠手去残忍的结束一个生命,如果了结了黑老大,我自己内心也是一辈子的痛苦。。。 我都记不得最后是怎么处理的了,总之跑出来了房间,遇上的同伴,幸好梦里的场景开始转换到另外的情节了,最后醒来,清晰记得的只剩被追杀的恐惧。
-+2012 Doomsday
13 days ago
根据玛雅人的预言上表示,现在我们所生存的地球,已经是在第5太阳纪,并将终结 于西元2012年12月22日,到目前为止,地球已经过了四个太阳纪,而在每一纪结束时, 都会伴随一出惊天动地的毁灭。 * 第一个太阳纪——马特拉克堤利MATLACTIL ART(根达亚文明),最后为一场洪 水所灭,有一说法是诺亚洪水。 * 第二个太阳纪——伊厄科特尔Ehecatl(米索不达亚文明),被风蛇吹的四散零 落而毁灭。 * 第三个太阳纪——奎雅维洛Tleyquiyahuillo(穆里亚文明),则是因为天降火 雨而步向毁灭之路,乃为古代核子战争。 * 第四个太阳纪——宗德里里克 Tzontlilic(亚特兰蒂斯文明),也是在火雨的 肆虐下引发大地的第四次灭亡。 玛雅人的预言的最后一章,大多是年代的纪录,而且这些年代的纪录如同串通好 的,全部都在“第五太阳纪”时宣告终结,因此,玛雅人预言地球将在第五太阳纪迎向 完全灭亡的结局。当第五太阳纪结束时,必定会发生太阳消失,地球开始摇晃的大剧变 ,根据预言所说,太阳纪只有五个循环,一但太阳经历过5次死亡,地球就要毁灭,而 第五太阳纪始于纪元3113年,历经玛雅大周期5125年后,迎向最终。而已现今西历对照 这个终结日子,就在西元2012年12月22日前后。   前面都是引子。我这里要提出的,是一种科幻的思路: 先从各类宗教民族传说的神灵奇迹说起——为什么世界的各个民族各个地区都有如此类似的传说神话神迹?难道纯粹是凭着人对超自然能力的幻想?各种的史记证据遗迹,汇总起来,都指向一个极大的可能性,人类文明确实经历过若干的超自然力量事件。 假设某一些神迹传说真实的话,按照剃刀原理,更简单的推断就是,不仅仅是某一些,而是大量的神迹传说确实是真实的。于是,暂且不管根源,就问一个问题,为什么总是地球?如果还没有回答这个问题的思路的话,回想一下地球文明的发展,在已知的40亿年的历史中,就只有很短的一点点,才是我们已知的人类文明。40亿,几千年,仔细想想,人类文明完全就是一下子蹦出来的!你也许继而会想到,好像也有传说,atlantis文明,好像的确也有过很多的局部的人类文明突然一下子消失了。另外一个事实是,考古资料里,关于人和古人的断层,在几万到几百万年之间,似乎也太大了。你不由得只能推测,似乎人类的文明,就是一层层的片段! ...
-+学习了backtrack(回溯法)
17 days ago
之前做了一些回溯的题,比如打印permutation,打印任意n对括号等等,都是瞎蒙的。 还真凑巧,上午做了打印n括号的题,下午就看见有人说到回溯法,想想自己还没系统学过这个,找了本基础的中文算法书来看了看,虽然书上讲的很浅显,发现自己貌似瞎蒙还蒙对了思路,呵呵。正好凑巧的是,刚刚看了一点点,网上就有个人问怎么做Vertex Cover的问题,正好让我来做做练习。 1. 打印任意合法的n对括号: void printParenthes(int N, int left, int right, stack<char> &stk){     if(left == N && right == N){         printStack(stk);         return;     }     if(left>right){         stk.push(')');         printParenthes(N, left,right+1, stk);         stk.pop();     }     if(left < N){         stk.push('(');         printParenthes(N, left+1, right, stk);         stk.pop();     }    }   2. Vertex Cover(NPC问题),图G中找一个顶点的最小子集,覆盖图的所有边。 int current_k = N; //global void VC(int k, int start_v){     if(all_edge_covered(G) && k<current_k){         current_k = k;         return;     }     if(k == current_k - 1) return; //剪枝     for(; start_v<=N; start_v++){         if(!edge_list[start_v].empty()){ //剪枝             list<int> temp_edge_list = ...
-+一日3题
18 days ago
第一题。给一个数组a[1]到a[n] : 例如 1,2,3,4,5,6 现在随机生成a的一个permutation: b[1]到b[n] (例如:3 1 5 2 4 6) 问, a和b数组在每一位上都不相同的概率是多少?假设a本身没有重复的数   我的解法: 主问题:F(n) = 给定长度为n的a数组,b数组有多少种取法 辅助问题:结果用f(n)表示。 b数组是{1….i-1,x,i+1…n}的一个排列,其中x!=i,满足a,b在每一位上都不相同,有多少种b?例如,a = 1,2,3,4; b是{1,2,5,4}的一个排列。换句话说,组成b的元素中,有且只有一个数不在a中。 这样定义了F(n),f(n)后,很显然有递推关系: F(n) = (n-1) * f(n-1)    //解释:第一位有n-1种选择,任意一种选择后,问题变为一个 n-1规模的辅助问题 f(n) = F(n-1) + (n-1)*f(n-1)   //情况一,在b数组的第i位置填入x,考虑剩下的n-1个位置,即是一个n-1规模的主问题;情况二,i位置填入非x的数,考虑剩下的n-1个位置,即是一个n-1规模的辅助问题。 简化一下表达式就是: F(n) = (n-1)(F(n-1)+F(n-2))     第二题,一个binary tree,逆序打印BFS序列。不能同时用两段存储空间(不同时用queue和stack) 解法,用一个vector(array)模拟queue+stack。queue的push操作即vector的push_back,等效于q.pop()+stack.push()的操作则是,vector的index往前走一步!最后把vector从尾到头打印一遍即可。     第三题,网上看的答案,超级巧妙,生成一个0-255 二进制数有多少位是1的查询表 static int BitSetCount256[256] = { #define B2(n) n, n+1, n+1, n+2, #define B4(n) B2(n), B2(n+1), B2(n+1), B2(n+2), #define B6(n) B4(n), B4(n+1), B4(n+1), B4(n+2), B6(0), ...
© 2009 MicrosoftMicrosoft