2015年10月25日

正确的二分查找实现

摘要: public static int binary_search(int[] A, int key, int imin, int imax) { // continue searching while [imin,imax] is not empty while ... 阅读全文

posted @ 2015-10-25 13:00 macrosoft 阅读(214) 评论(0) 推荐(0) 编辑

2015年6月11日

SSH编写程序中文乱码解决

摘要: 用SSH开发应用其中一个比较麻烦的事就是中文支持,包括jsp页面显示,get/post请求处理,java代码的字符串,后端数据库连接都需要考虑。为了简化这个过程,我们尽量在各个地方使用单一编码,推荐UTF-8。下面以UTF-8为例罗列一下需要考虑的配置。1. 一般我们的应用都跑在Tomcat上,To... 阅读全文

posted @ 2015-06-11 12:29 macrosoft 阅读(1452) 评论(0) 推荐(0) 编辑

2015年5月28日

lamda表达式

摘要: Definition[edit]Lambda expressions are composed ofvariables v1, v2, ..., vn, ...the abstraction symbols lambda 'λ' and dot '.'parentheses ( )The set o... 阅读全文

posted @ 2015-05-28 14:39 macrosoft 阅读(208) 评论(1) 推荐(0) 编辑

2013年10月10日

kmp算法核心代码

摘要: void preKMP_CLRS(char *P){ int j, k; int pLen = strlen(P); next[0] = 0; for(j=1; j 0 && P[j] != P[k]) k = next[k-1]; //下标从0开始,所以长度 = 下标 +1 if(P[j] == P[k]) k++; next[j] = k; }}int KMP_CLRS(char *T, char *P, int start){ int i, j; int tLe... 阅读全文

posted @ 2013-10-10 17:48 macrosoft 阅读(227) 评论(0) 推荐(0) 编辑

2013年10月9日

简洁清晰的quicksort核心代码

摘要: void quicksort(Item a[], int l, int r){ int i = l-1, j = r; Item v = a[r]; if (r = j) break; exch(a[i], a[j]); } exch(a[i], a[r]); quicksort(a, l, i-1); quicksort(a, i+1, r);} 阅读全文

posted @ 2013-10-09 17:34 macrosoft 阅读(191) 评论(0) 推荐(0) 编辑

2013年10月8日

[转载]CAP理论十二年回顾:"规则"变了

摘要: CAP理论断言任何基于网络的数据共享系统,最多只能满足数据一致性、可用性、分区容忍性三要素中的两个要素。但是通过显式处理分区情形,系统设计师可以做到优化数据一致性和可用性,进而取得三者之间的平衡。自打引入CAP理论的十几年里,设计师和研究者已经以它为理论基础探索了各式各样新颖的分布式系统,甚至到了滥用的程度。NoSQL运动也将CAP理论当作对抗传统关系型数据库的依据。CAP理论主张任何基于网络的数据共享系统,都最多只能拥有以下三条中的两条:数据一致性(C),等同于所有节点访问同一份最新的数据副本;对数据更新具备高可用性(A);能容忍网络分区(P)。CAP理论的表述很好地服务了它的目的,即开阔设 阅读全文

posted @ 2013-10-08 14:14 macrosoft 阅读(124) 评论(1) 推荐(0) 编辑

[趣题]生成多个质数的幂积序列

摘要: 给定三个质数 3,5,7,需要得到从小到大排列的前k个合数,只能包含这三个质因子。比如k=4,那么结果是1,3,5,7初看上去感觉有点乱,貌似没有办法简单的根据第k-1个数计算第k个数,但是很显然的是,第k个数只能是用前k-1个数中的某个数乘以3或者5或者7得到。这样,我们可以认为存在3个子序列,分别对当前序列的元素乘以3或5或7,后续元素是这三个子序列归并得到,每个子序列有一个索引标示当前需要操作的元素,序列里的下一个元素总是选择这三个子序列的当前元素中最小的值,选中之后,子序列当前元素后移一个。然后重复此操作,就可以得到K个元素,算法复杂度O(n)。#include #include us 阅读全文

posted @ 2013-10-08 00:19 macrosoft 阅读(472) 评论(0) 推荐(0) 编辑

2013年9月26日

高僧驱蚊记

摘要: 高中时同桌乃一词坛怪才,其创作的打油诗雅俗共赏,琅琅上口,在我们班内广为流传,众女生无不对其倾慕有加,令我等粗俗之人甚为羡慕,遂拜其为师,欲学打油诗创作之精髓,无奈鄙人天资愚钝,到毕业时尚未有所成就,虽创作不少,然而水平着实不高,唯一一首得到过师傅首肯的小诗,到现在也记得不清楚了,一番冥思苦想加改编后拿出来献丑,博君一笑 。 高僧驱蚊记 得道高僧,驱赶蚊虫。 目若铜铃,声如洪钟。 手捻佛珠,口诵真经。 天舞宝轮,蚊虫大惊。 欲逃不能,头重脚轻。 想死难成,痛不欲生。 跪地求饶,不敢再叮。 高僧喝道,尔等小虫。 肆虐众生,罪孽深重。 该下地狱,一十八层。 我佛慈悲,普渡众生。 饶你小命,罚去理工 阅读全文

posted @ 2013-09-26 15:30 macrosoft 阅读(172) 评论(0) 推荐(0) 编辑

算法导论的一道课后练习题,挺有意思

摘要: 这个题目的题意是这样的:有N个人,分为好人和坏人两种,每次你可以挑两个人出来让他们互相指识彼此是好还是坏。好人一定说实话,坏人会乱说。现在你要从他们里面找出一个肯定是好人的。一共有三问:(1)证明若好人数目不超过N/2,则坏人们总可以通过故意捣乱,让你找不出正确答案。(2)证明若好人数大于N/2,存在一种方法可以通过floor(N/2)次判断使问题规模缩小到最多只有原来的一半。(3)证明若好人数大于N/2,可以用theta(N)次判断找出一个好人。这个题目我琢磨了半天,确实很巧妙,值的思考,我的证明如下:记T=好人,F=坏人那么两个人AB的指认结果可能为TT,TF,FT,FF。TT对应的可能是 阅读全文

posted @ 2013-09-26 15:22 macrosoft 阅读(312) 评论(0) 推荐(0) 编辑

某知名存储公司的几道面试题目

摘要: 这是从网上看到的某知名存储公司的面试题目,我觉得题目设计的不错,贴上来供参考。4. What are the most reasonable two numbers to follow the sequence:A. 124, 217B. 125, 217C. 125, 215D. 126, 215E. None of the above5. If F(n)=50!*5^n(5^n是5的n次方的意思), (n is positive integer), what number is the least value of n such that F(n) and F(n+1) have the 阅读全文

posted @ 2013-09-26 15:18 macrosoft 阅读(1333) 评论(0) 推荐(0) 编辑

导航