随笔分类 - 刷题
摘要:https://www.cnblogs.com/grandyang/p/7098764.html 将个数出现最多的那个字符作为分隔的标准,一定是最小的。所以这个时候只需要计算还需要添加多少个idel就能找到整个的个数。 方法是:先计算个数最多的字符,并且判断有没有跟他个数相同的,如果这个字符出现的次
阅读全文
摘要:https://www.cnblogs.com/grandyang/p/4641968.html http://www.cnblogs.com/grandyang/p/4640572.html 利用二叉搜索树的性质:左子树所有节点小于根节点,右子树所有节点大于根节点 如果两个节点的最大值小于根节点,
阅读全文
摘要:字符串排列和PermutationsII差不多 Permutations第一种解法: 这种方法从0开始遍历,通过visited来存储是否被访问到,level代表每次已经存储了多少个数字 时间复杂度O(n!) 第二种解法: Permutations II 把第二个剪枝写在for循环一开始这种方式,实际
阅读全文
摘要:这道题给了我们一个数组,问我们这个数组能不能分成两个非空子集合,使得两个子集合的元素之和相同 https://www.cnblogs.com/grandyang/p/5951422.html
阅读全文
摘要:错误解法 [10,5,15,null,null,6,20]这种情况没考虑到,即这个代码只考虑了当前节点小于左节点、大于右节点,没有递归考虑他的root节点 https://www.cnblogs.com/grandyang/p/4298435.html 思路:二叉搜索树中,每个节点的数必定小于一个数
阅读全文
摘要:96. Unique Binary Search Trees https://www.cnblogs.com/grandyang/p/4299608.html 3由dp[1]*dp[1]、dp[0]*dp[2]、dp[2]*dp[0]相加而成 从2开始 也可以从1开始 95. Unique Bina
阅读全文
摘要:class Solution { public: int numJewelsInStones(string J, string S) { vector container(256,0); for(char s : S) container[s - '0']++; int count = 0; ...
阅读全文
摘要:https://blog.csdn.net/xinqrs01/article/details/55095134 https://www.cnblogs.com/grandyang/p/4800552.html 当前的数一定可以通过之前的数加上数的平方获得
阅读全文
摘要:https://www.cnblogs.com/grandyang/p/4635425.html 错误代码: 这个代码之后保证第一次,第二次反转就错了
阅读全文
摘要:leetcode是求当前所有数的二进制中1的个数,剑指offer上是求某一个数二进制中1的个数 https://www.cnblogs.com/grandyang/p/5294255.html 第三种方法,利用奇偶性找规律
阅读全文
摘要:https://www.cnblogs.com/grandyang/p/5138186.html 状态方程为dp[i] = min(dp[i-1],dp[i-2],dp[i-3]),可能会造成下标为负的情况。如果出现下标为负,这种情况跳过不计算就好了。 同时,有些金额换不出来。 所以在初始化的时候,
阅读全文
摘要:https://www.cnblogs.com/grandyang/p/5849037.html
阅读全文
摘要:https://www.cnblogs.com/grandyang/p/7058935.html
阅读全文
摘要:整体上3个题都是求subarray,都是同一个思想,通过累加,然后判断和目标k值之间的关系,然后查看之前子数组的累加和。 map的存储:560题是存储的当前的累加和与个数 561题是存储的当前累加和的余数与第一次出现这个余数的位置 325题存储的是当前累加和与第一次出现这个和的位置 其实561与32
阅读全文
摘要:https://www.cnblogs.com/grandyang/p/4332313.html 在一个矩阵中能不能找到string的一条路径 这个题使用的是dfs。但这个题与number of islands有点不同,那个题中visited过的就不用再扫了,但是这个需要进行回溯回来。 所以使用了v
阅读全文
摘要:https://www.cnblogs.com/grandyang/p/6591526.html 这个题本质上是中序遍历的反向。中序遍历是从小到大,而这个题目是从大到小,然后每个数加上比自己大的所有数的和。 因为实际上并没有改变树的结构,只是改变了原来树中节点的值,所以用void做返回值就可以了。
阅读全文
摘要:和剑指上树的子结构的题稍稍有点不同,
阅读全文
摘要:http://www.cnblogs.com/grandyang/p/4293853.html 用递归,先把左子树、右子树处理好,然后再将当前根节点和左、右子树进行处理。 处理的方式是将左子树换到右子树,且左子树为空,之前的右子树在整个新生成的右子树的最右节点
阅读全文
摘要:https://www.cnblogs.com/grandyang/p/6014408.html 用两个hash表来存储个数
阅读全文
摘要:这两个题可以理解为奇数位大于相邻两个偶数位,这两个题的输入数组是相同的,即数组中数值无序,且可能有相等的数值。但Wiggle Sort II要求是奇偶位的只能大于,不能等于。 无论是280.Wiggle Sort还是324. Wiggle Sort II,都可以通过排序,然后以中间值为分界分成a、b
阅读全文
浙公网安备 33010602011771号