算法与数据结构
蟹老板BossCrab
这个作者很懒,什么都没留下…
展开
-
判断一个整数是否是2的阶乘的快速算法
判断一个整数是否是2的阶乘的快速算法。 假设d是一个整数,如果d是2的阶乘,那么(d-1)&d的值一定等于 0。故只需计算(d-1)&d的值即可。原创 2008-02-15 22:40:00 · 1696 阅读 · 0 评论 -
计算二进制数中1的个数的快速算法
以n=10101010为例。首先将其减1,得到10101001;然后用10101010&10101001,得到10101000。这个过程,我们可以看出,n末尾的1被去掉了。即每作一次n = n&(n-1),n的末尾就少一个1。如此反复,知道n=0位置。示例代码如下:int count(int n){ int c = 0; for(;n;n=n&(n-1)) count++; re原创 2008-03-31 23:06:00 · 2334 阅读 · 4 评论 -
【算法与数据结构】金刚坐飞机问题
文章背景编程之美 4.1 “金刚坐飞机问题”的问题2,难度比问题1大很多。编程之美的官方解法,包括原理分析、概率公式、推导过程等,感觉阐述不够详细,没有完全读懂。搜索一下 “金刚坐飞机”,参考了几个很不错的分析,得到一个自己觉得比较完整的答案。仔细审题首先,仔细审题,有两个细节需要搞清楚:飞机上总共有多少座位?N?N+1?还是更多?从问题1的官方原创 2013-02-15 14:13:24 · 2076 阅读 · 0 评论