摘要: 题目描述: 0,1,……, n-1 这n个数字排成一个圆圈, 从数字0开始每次从这个圆圈里删除 第m个数字。求这个圆圈里剩下的最后一个数字。思路: 第一次删除之后: 0,1,……,m-2,m, ……,n-1 因为第二次变换从m开始,经过变换(- m): -m,1-m,……,-2,0,1,……,n-1-m 共n-1个 从第二次变到第一次的映射为:p(x)= (x + m)% n; 也就是说,如果在n-1个数中最后剩下的数字为x,那么推到在n个数中最后剩下的数字 为p(x),问题的解可以由子问题给出,初始化条件为n=1时,p(x) = 0; 书上的关系表示为:f(n, m) =... 阅读全文
posted @ 2012-04-27 13:35 可乐爱上了雪碧 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 输入一个二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。思路: 从根节点开始,把路径存起来,遇到和输入的整数相同,就把路径打印出来,这是 一种前序遍历,因为你必须先访问根节点。这里有两点:一如果题目不需要是到叶 节点的路径,那么只要判读和是否相等。如果要求要到叶节点的路径,那么再判断 下是否是叶节点就行了;二是,我的这个路径和和存数据的数据结构是否需要引用, 如果是引用,那么就要回溯,如果没有引用,相当于,你每次传递的都是一个值的 拷贝,就不需要回溯了。当然建议回溯啦,这样不会浪费栈空间。参考资料:[1] 《剑指offer》 何海涛 P143代码:V... 阅读全文
posted @ 2012-04-23 12:26 可乐爱上了雪碧 阅读(712) 评论(0) 推荐(0) 编辑
摘要: 阿甘正传,生命应该有所坚持,而生存应该随遇而安。——卡卡 阅读全文
posted @ 2012-04-22 13:25 可乐爱上了雪碧 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目描述: http://poj.org/problem?id=1157思路: 也是属于经典的dp,我只做做水题哈。 它这种情况跟最长公共子串的长度(字串要求连续)是一样的。有一点不同,因为它 要求必须有花插入,所以不能不选,那么如果有5个位置,有3种花,那么第二种 花,插入的位置必定是从[2,4],因为如果你插到1,那么第一种花就没地方放了,所以 循环的上下界要搞清楚。 dp[i][j] = max(dp[i-1][k] + dp[i][j]), {k是符合要求的位置} 最后遍历一遍最后插入花的值,最大的就是它的最大观赏价值,这种dp是不包含的。代码:View Code 1... 阅读全文
posted @ 2012-04-22 13:08 可乐爱上了雪碧 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 侧耳倾听,关于梦想,关于爱情。 阅读全文
posted @ 2012-04-21 23:05 可乐爱上了雪碧 阅读(204) 评论(0) 推荐(0) 编辑