摘要: 好久没有动大脑了,记得某年某天,我遇到了这个问题,当时时间匆匆不知怎么搞的搞出了答案。但是回忆不起来。今晚无事,无意又发现这个问题,重新思考了一番。发现,一句简单的话里,蕴含的信息量真的很大,细节往往就在那不经意间。 记得题目是那样的。S先生、P先生、Q先生他们知道桌子的抽屉里有16张扑克牌:红桃A、Q、4 黑桃J、8、4、2、7、3 草花K、Q、5、4、6 方块A、5。约翰教授从这16张牌中挑出一张牌来,并把这张牌的点数告诉 P先生,把这张牌的花色告诉Q先生。这时,约翰教授问P先生和Q 先生:你们能从已知的点数或花色中推知这张牌是什么牌吗? 于是,S先生听到如下的对话:P先生:我不知道这张. 阅读全文
posted @ 2013-04-22 13:56 HQL 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 曾经看到这道面试题,虽然不曾参加这样的面试,但是总会被这样的题目吸引。以前看到这题时候不知什么意思,今天中午午休的时候重新想了,至少现在能根据自己的思路解出来,而用到的方法竟然是我只看了一课的博弈论所学到的东西。苦逼的程序猿什么时候才能放下书本......闲话不说,题目重复如下: 五位绝顶聪明、勇敢 阅读全文
posted @ 2012-05-29 22:54 HQL 阅读(1017) 评论(6) 推荐(0) 编辑
摘要: 题目:已知一个数组a[N],构造一个数组b[N],构造规则:b[i]=a[0]*a[1]*a[2]...a[N]/a[i]; 要求: 1、不可以使用除法; 2、时间复杂度为O(n),空间复杂度为S(0); 3、除遍历使用的变量外,不可以使用其它变量;自己的解法虽然不合题意,终究是自己想的,但是极力只用1个.可以使用遍历变量我就无耻的把他当作遍历变量吧,空间复杂度就无法满足了使用递归的话....... 思路很简单:递归到最后一个元素过程中边计算之前的数字乘法积,然后记录后面元素乘积和. //r1 :用来记录index后的元素乘积 //r2 :index之前的元素的乘积 ... 阅读全文
posted @ 2012-05-11 17:58 HQL 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 当下数据系统纷杂,每个公司都可能有多种多样的系统,然而每个系统都可能有部分业务数据可供外部使用。然后,貌似总能听到这个系统与那个系统进行交互的时候,开发人员总是在激烈的讨论如何互相开放API接口。但是这样的API接口真的够吗?如果有10个系统,10个系统之间互相进行交互,那样的工作量该多大?而且API接口各异。各系统之间的解耦是不是又得下一番功夫? 如果说,我们能实现这么一个平台: 1)对于向外部暴露数据的系统提供标准的数据集接口,把业务系统提供的数据集当作一张或者多张的虚拟表。平台规定标准的数据集应该实现的接口 2)平台向上层其他的系统以类似作为一个内存数据库的方式暴露。 3)平台抽... 阅读全文
posted @ 2012-04-27 19:59 HQL 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 24点玩法:任意给点定4个数,然后对4个数进行四则运算,得出结果为24.简单思路 1)从数集中任意取两个数分别进行:+-*/ ,将结果放回数字集合中 2)重复1的步骤直到集合剩下一个数,判断是否是24. 综上,即通过递归回朔进行穷举。源代码(修正了小bug) 阅读全文
posted @ 2012-04-23 20:23 HQL 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 在Winform上放一个DatetimePicker控件,不做任何配置,下拉模式。然后在Valuechanged事件中MessageBox.Show("Test").程序运行后,点击月份翻页,即左右两个按钮< >,然后弹出MessageBox,确定后不停的出发翻“月”。这是bug吗? 阅读全文
posted @ 2012-03-08 19:43 HQL 阅读(435) 评论(5) 推荐(0) 编辑
摘要: .net的FCL中有以下3个定时器: (1) Windows.Forms.Timer (2) Timers.Timer (3) System.Threading.Timer 其实定时器只有两个,Forms下的Timer和Threading下的Timer,Timers中的Timer是对线程中的Timer封装。区别:windows窗体中的定时器,是基于UI主线程的定时器,单线程处理的。个人认为就是窗体的一个定时器消息。定时器的处理回调由定时器所在的主线程完成。 如果当前winform程序主线程正在被挂起,那么后续的Timer的回调事件将不能被处理直到主线程恢复。Threa... 阅读全文
posted @ 2012-02-12 22:56 HQL 阅读(793) 评论(0) 推荐(0) 编辑
摘要: 同事实习,写个扫雷练练手,正好自己也重新实现下,毕竟毕业两年半了,应该比之前容易了许多。 思路如下: 1、随机行列,产生雷直到需要的雷的个数。 2、将随机产生的雷所在的地方的周围8个区域的不是雷的地方值+1,依次循环直至雷都被遍历过一次。 3、点击时候,如果是雷游戏结束。 4、右键标记为雷 5、点击为空白时,周围8个如果是数字的显示,如果是空白的则递归步骤5。(空白周围肯定是数字或者空白) 效果如下: 源代码下载 阅读全文
posted @ 2012-01-09 20:17 HQL 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 某天,公司里在讨论表达式解析,经讨论他们选择了将表达式动态编译并反射实现。个人兴起,回家自己写了个简单的表达式解析程序,鼓励下自己要好好加油,在此做个记录以防自己以后忘记。 源代码(对部分bug有所更改,2012年4月) 对于一般的表达式的观察发现,表达式分运算符、参数、函数三部分。而运算符其实也是函数。如 +,其实+有两个参数和一个返回值即:object Add(parameter1,parameter2).参数是函数的输入。所以我将表达式定义成了函数对象的递归树。于是定义了如下接口及抽象类。 函数抽象: 1publicabstractclassFunctionBase:I... 阅读全文
posted @ 2011-12-30 22:05 HQL 阅读(519) 评论(0) 推荐(0) 编辑
摘要: static int Function(int x) { if (x == 0) { return 0; } if (x % 2 == 0) { if (x == Int32.MinValue) { return Function(Int32.MinValue + 1); } x = -1 * x; x += (int)(Math.Pow(-1, x >> 31)); } else { x -= (int)(Math.Pow(-1, x >> 31)); } return x; } 在别人博客上看到了这道题目,花了几个小时解的。然后再看看别人的,开始以为解的跟别人不一样 阅读全文
posted @ 2011-06-15 19:55 HQL 阅读(247) 评论(0) 推荐(0) 编辑