- 博客(3)
- 收藏
- 关注
原创 编程之美读书笔记_1.3 一摞烙饼的排序 (补充)
<br /> 几个月前写了 编程之美读书笔记_1.3 一摞烙饼的排序 , 对书上的例子{3,2,1,6,5,4,9,8,7,0},将搜索次数由原来的172126次降到29次,本以为要进一步降低搜索次数,要强化剪枝条件,要添加大量的代码,而实际上只要改动一处,就能将搜索次数降到11次。遍历所有可能的排列求第1个……第10个烙饼数所用的总时间,也由原来的38秒降到21秒。<br /> <br /> <br />改动:<br />1.3_pancake_final第148行<br /> for (int pos
2010-08-21 23:45:00 1691 1
原创 编程之美读书笔记22 1.16 24点游戏
<br />编程之美读书笔记22 1.16 24点游戏<br /> <br />给定4个数,能否只通过加减乘除计算得到24?由于只有4个数,弄个多重循环,就可以。如果要推广到n个数,有两种思路:<br />①采用前缀/后缀表达式。相当于将n个数用n-1个括号括起来,其数目就是一个catlan数。最多可得到f(n) = (1/n * (2*n - 2)! / (n-1)! / (n-1)!) * n! * 4^(n-1) = 4^(n-1) * (2*n-2)! / (n-1)! 种表达式,当n=4时
2010-08-01 22:49:00 1425
原创 《编程之美》读书笔记21: 2.4 1的数目
<br />《编程之美》读书笔记21: 2.4 1的数目<br /> <br />问题:<br /> 给定一个十进制正整数N,写下从1开始,到N的所有整数,<br /> 然后数一下其中出现的所有“1”的个数。<br /> 例如:<br /> N=2,写下 1,2。这样只出现了 1 个“1”。<br />N=12,我们会写下 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12。这样 1 的个数是 5。<br /> <br /> 1. 写一个函数f(N)
2010-08-01 22:45:00 886
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人