摘要: 2.1 求二进制数中的1的个数题意:8bit无符号整型变量N,求其中二进制位中1的个数。解法一,笨方法,使用除法和模运算,即使编译器能帮人优化,但解法的思想并没有走到位这个概念上去。解法二是笔者首先想到的解法,即与0x01进行与运算,判断是否为1,之后再右移,这个方法清晰明了,虽说复杂度为O(log2N)级别,但和再小的复杂度差别不大。解法三的确是一个非常巧妙的方法,复杂度只和1的个数有关,每次循环都消去最低位的1,最终得到1的个数。解法四有点走火入魔了,写代码都累死,说是空间换时间,写代码的时间不算?解法五可以说是解法四的改良版本,直接hashtable就OK,算是先把结果算好存着。若改成3 阅读全文
posted @ 2012-10-26 15:51 罗辑 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 1.17 俄罗斯方块游戏题意:俄罗斯方块游戏的逻辑设计。总的来说,这道题目并没有什么难点,有点偏工程化的东西,按照游戏规则进行相关设定,然后编写代码即可。1.18 挖雷游戏题意:windows系统自带的扫雷游戏,添加每个方格里面是否有地雷的概率。概率这个东西,这里只谈一下100%的情况,即从局面上判定哪些方块肯定是有地雷的。假设有两个集合A和B,B包含于A,A里面的元素都是没有点开的方块,|A|=x,|B|=y,A和B对应的地雷数目分别是m和n。如果x-y==m-n,那么A-B里面的方块下面都是地雷。 阅读全文
posted @ 2012-10-26 13:52 罗辑 阅读(236) 评论(0) 推荐(0) 编辑