cillian
cillian
各位大佬,问一个十分愚笨的问题为什么 ``` if (backtrack(nums, index + 1, bucket, target)) { return true; } ``` 不能直接写成这样 ``` backtrack(nums, index + 1, bucket, target) ``` 直接递归为什么不行
想请问一个问题,为什么在二叉搜索树的第一种情况下 ``` if (root.left == null && root.right == null) return null; ``` 为什么不是root=null,而是直接返回null
其实本题可以利用滑动窗口去解决,每次记录了当前的最大值即可 缩小窗口的时机在sum
``` // 斜着遍历数组 for (int l = 2; l
在i=-1的时候,返回的为什么是j+1而不是j,因为在递归函数中i与j记录的字符串数组中的下标值,而数组的起始下标是从0开始的,j=-1时候同理
我觉得从状态定义的有没有意义上来讲,**若只使用 coins 中的前 i 个(i 从 1 开始计数)硬币的面值,若想凑出金额 j,有 dp[i][j] 种凑法。**。 这种定义是有错误的,为什么不让凑金额j的时候使用coins中的i后面的值呢?
@labuladong,节点总数哪里算错了吧,最坏情况下不是k^(n-1),那只是倒数第二层的节点数
在二分法中相同的数字也是放到同一堆的
@labuladong,第二张图片显示有问题
我觉得这个思路中前两步可以并未一步,直接判断以root为根的树是不是二叉树,这样可以减少判断,从而不超出时间限制。