上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 54 下一页

2012年3月20日

共勉

摘要: 年度述职终于结束了。不怎么觉得又过了一年了。有进步,也有不足。新一年度需要加油了,继续保持进步,当然也要改掉缺点。多学东西,多做事情,多写代码,不仅仅为了挣钱,也为了不虚度光阴。这就是生活,只有在忙忙碌碌中才体会到意义之所在。 最近浏览了下灌水的帖子,在帖子上老是看到有人说程序员的字眼是:猥琐,近视、穷,矮、没女朋友...TNN的腿,实在是太气愤了,谁说程序员是这样的呢,至少我身边的程序员和这些词都不沾边,大部分都是有房有车的人,而且还有好多都有股票的。我擦,发那些帖子的人心理真是太不正常了。 阅读全文

posted @ 2012-03-20 20:04 c语言源码 阅读(142) 评论(0) 推荐(0) 编辑

输出1到n位之间的所有数字

摘要: 题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999。分析:这是一道很有意思的题目。看起来很简单,其实里面却有不少的玄机。void Print1ToMaxOfNDigits_1(int n) { // calculate 10^n int number = 1; int i = 0; while(i++ < n) number *= 10; // print from 1 to (10^n - 1) for(i = 1; i < number; ++i)... 阅读全文

posted @ 2012-03-20 17:51 c语言源码 阅读(2041) 评论(0) 推荐(0) 编辑

win7打开chm文件问题解决之道

摘要: 非常实用,原文地址:http://blog.163.com/wxdl_1029/blog/static/446909882010223111153301/我今天遇到了个非常棘手的问题,想看看资料,却打不开chm帮助文件。我装的是64位win7,打开chm文件时,系统提示我安全问题,强行打开,却无法显示内容,得到的提示是“该页导航被取消”,郁闷啊,头痛啊,怎么办啊,急急如火令……只有找Google兄弟帮忙了,一搜,一大堆。看了看,挺麻烦,要修改注册表,如不慎,将崩溃。完了,这难哈。不过,没办法,还要解决问题啊,工作不等人的。还好,经过我的不懈努力,加上我的聪明才智,最后找到了最简单最有效解决方法 阅读全文

posted @ 2012-03-20 09:15 c语言源码 阅读(599) 评论(0) 推荐(0) 编辑

2012年3月19日

KM算法理解

摘要: 转自http://www.byvoid.com/blog/match-km/[二分图带权匹配与最佳匹配]什么是二分图的带权匹配?二分图的带权匹配就是求出一个匹配集合,使得集合中边的权值之和最大或最小。而二分图的最佳匹配则一定为完备匹配,在此基础上,才要求匹配的边权值之和最大或最小。二分图的带权匹配与最佳匹配不等价,也不互相包含。我们可以使用KM算法实现求二分图的最佳匹配。方法我不再赘述,可以参考tianyi的讲解。KM算法可以实现为O(N^3)。[KM算法的几种转化]KM算法是求最大权完备匹配,如果要求最小权完备匹配怎么办?方法很简单,只需将所有的边权值取其相反数,求最大权完备匹配,匹配的值再 阅读全文

posted @ 2012-03-19 21:13 c语言源码 阅读(857) 评论(0) 推荐(0) 编辑

读书笔记21:解释器模式

摘要: 1、定义 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。该模式很好理解就是,目的就是解释。比如说世界上的各个地区和国家的汉字各不相同,但是需要表达的意思是相同的。同样描述吃饭的,中国叫吃饭,老外叫Eat...所以解释器模式是指,在程序中,一些符号或字符等需要在特定的条件下解释成这样,在另一情况下解释成那样。2、角色这个模式角色就一个解释器,AbstractExpression——它的参数是需要解释的内容。3、模型抽象的解释操作类。 public abstract class AbstractExpression { p... 阅读全文

posted @ 2012-03-19 15:49 c语言源码 阅读(217) 评论(0) 推荐(0) 编辑

2012年3月18日

求1-n直接1出现的次数

摘要: 题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。分析:这是一道广为流传的google面试题。用最直观的方法求解并不是很难,但遗憾的是效率不是很高;而要得出一个效率较高的算法,需要比较强的分析能力,并不是件很容易的事情。当然,google的面试题中简单的也没有几道。首先我们来看最直观的方法,分别求得1到n中每个整数中1出现的次数。而求一个整数的十进制表示中1出现的次数,就和本面试题系列的第22题很相像了。我们每次判断整数的个位数字是不是1。如果这个数字大于10,除以10之后再判断个位数字 阅读全文

posted @ 2012-03-18 17:49 c语言源码 阅读(562) 评论(0) 推荐(0) 编辑

为什么要工作?

摘要: 很多时候我常常在反思,我为什么工作? 背井离乡,离家数千里;上班是起早贪黑,有时候如果在公司就餐和午休,那就达到了白天见不到太阳的境界。这是为什么呢?是为了钱?好像也不是,工资也不是很高;为了生存?貌似也不是,我是村儿里人,钱没有,但是不可能没饭吃,因为家家都有土地,如果我去种地,那这辈子衣食肯定是无忧的。不知道原因,只好用一下反证法问自己,假如我目前不工作了会怎么样? 结合自身的资源结论如下: 1、回家当农民,与土地,牛羊等打交道。生活怡然自得,可是钱不多。大家会认为读书无用,读了二十几年的书,结果种地。——不被尊重 2、既然种地,那么也就没有闲情玩电脑、上网、看新闻、看八卦、关注国际形势. 阅读全文

posted @ 2012-03-18 16:27 c语言源码 阅读(169) 评论(0) 推荐(0) 编辑

寻找丑数

摘要: 题目:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1500个丑数。分析:这是一道在网络上广为流传的面试题,据说google曾经采用过这道题。所谓一个数m是另一个数n的因子,是指n能被m整除,也就是n % m == 0。根据丑数的定义,丑数只能被2、3和5整除。也就是说如果一个数如果它能被2整除,我们把它连续除以2;如果能被3整除,就连续除以3;如果能被5整除,就除以连续5。如果最后我们得到的是1,那么这个数就是丑数,否则不是。基于前面的分析,我们可以写出如下的函数来判断 阅读全文

posted @ 2012-03-18 16:11 c语言源码 阅读(4354) 评论(0) 推荐(1) 编辑

八皇后问题

摘要: package quess;/*** 由于八个皇后的任意两个不能处在同一行,那么这肯定是每一个皇后占据一行。* 于是我们可以定义一个数组ColumnIndex[8],数组中第i个数字表示位于第i行的皇后的列号。* 先把ColumnIndex的八个数字分别用0-7初始化,接下来我们要做的事情就是对数组ColumnIndex做全排列。* 由于我们是用不同的数字初始化数组中的数字,因此任意两个皇后肯定不同列。* 我们只需要判断得到的每一个排列对应的八个皇后是不是在同一对角斜线上,* 也就是数组的两个下标i和j,是不是i-j==ColumnIndex[i]-Column[j]或者j-i==Column 阅读全文

posted @ 2012-03-18 13:43 c语言源码 阅读(287) 评论(0) 推荐(0) 编辑

时间复杂度为O(n)的排序

摘要: 题目:某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间。分析:排序是面试时经常被提及的一类题目,我们也熟悉其中很多种算法,诸如插入排序、归并排序、冒泡排序,快速排序等等。这些排序的算法,要么是O(n2)的,要么是O(nlogn)的。可是这道题竟然要求是O(n)的,这里面到底有什么玄机呢?题目特别强调是对一个公司的员工的年龄作排序。员工的数目虽然有几万人,但这几万员工的年龄却只有几十种可能。上班早的人一般也要等到将近二十岁才上班,一般人再晚到了六七十岁也不得不退休。由于年龄总共只有几十种可能,我们可以很方便地统计出每一个年龄里有多少名员工 阅读全文

posted @ 2012-03-18 11:17 c语言源码 阅读(936) 评论(0) 推荐(0) 编辑

上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 54 下一页

导航