1 /* 2 题意:建立一棵二叉树,左子树和父节点占一个宽度,右子树另外占一个宽度! 3 使任意左右子树交换顺序,使得整个树的宽度最小! 4 思路:递归交换左右子树 ! 开始写的代码复杂了,其实左右子树不用真的交换,只要返回交换与不交换最小的宽度值...
分类:
其他好文 时间:
2014-08-24 23:51:03
阅读次数:
248
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.Each numb...
分类:
其他好文 时间:
2014-08-24 23:29:33
阅读次数:
176
shuffle:递归的思考,假如n-1个元素已经shuffle好了,第n个元素应该从0~n的范围内选择交换目的地。一直递归到一个元素的shuffle情况。n选m:假如n-1个元素中选m的情况已经好了,那么对于第n个元素,可以在0~n的范围内随机的选取一个元素,如果选的元素在m范围内,那就剔除掉原有的...
分类:
其他好文 时间:
2014-08-24 20:48:32
阅读次数:
182
先异或求sum,然后求carry,二者的和就是结果,可使还是不能用加号,递归执行,直到b==0。因为每次carry都移位右边多出一个零,然后下一次&的时候必然后面会是0,所以每递归调用一次b后面就多一个零,直到b==0.public class Solution { public static...
分类:
其他好文 时间:
2014-08-24 20:43:43
阅读次数:
259
这题感觉和POJ 1988 Cube Stacking 很像,在路径压缩的同时递归出来的时候跟新distant数组 1 //#define LOCAL 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 20000...
分类:
Web程序 时间:
2014-08-24 19:22:02
阅读次数:
211
前一篇简单了介绍了一下函数的传值,知道了函数本身可以当做另外一个函数的参数场地进去。这里在介绍一个函数传值的实例:function fn(num1){ function fn1(num2){ return (num2+num1) }return fn1}var fn3=fn(20);alert(fn...
分类:
其他好文 时间:
2014-08-24 17:57:12
阅读次数:
159
关于递归程序:递归程序结构包括三部分:递归出口、逻辑处理(需要处理的问题)、递归调用(衔接)。递归与数学归纳法:递归是数学归纳法在计算机程序中的体现。使用递归思想设计程序时,我们设置base case,并假设我们会获得n-1的结果,并实现n的结果。这就好像数学归纳法,我们只关注初始和衔接,而不需要关...
分类:
其他好文 时间:
2014-08-24 15:27:12
阅读次数:
210
思路:递归执行,子函数需要返回子链表的head和tail,所以借助内部类NodePair来实现。/** * 4 / \ 2 5 / \ \ 1 3 6 / 0 0123456 * */public ...
分类:
其他好文 时间:
2014-08-24 12:51:12
阅读次数:
267
思路: 枚举分割点递归求解,可用DP优化。 注意递归终止条件。 注意 ^ & | 三种情况统计的不同。import java.util.HashMap;import java.util.Map;public class Solution { int countR(String terms,...
分类:
其他好文 时间:
2014-08-24 11:32:32
阅读次数:
249
递归求解,求出已某个箱子为底,返回最高可以放的箱子堆。DP思想优化,对于已经求过的已某个箱子为底的情况,用一个map记录下来,以后直接返回即可。 注意一些clone等一些语言细节。import java.util.ArrayList;import java.util.HashMap;import ....
分类:
其他好文 时间:
2014-08-24 11:31:12
阅读次数:
257