fFee-ops's Blog
二叉树直径、最大路径和等总结 二叉树直径、最大路径和等总结
二叉树直径、最大路径和总结 104、二叉树的最大深度 534、二叉树的直径 124、二叉树中的最大路径和 687、最长同值路径 今天发现这几题的解法十分类似,于是放到一起。 104、二叉树的最大深度/** * Definition
2021-04-28
647. 回文子串(高频题) 647. 回文子串(高频题)
647. 回文子串 解题思路 代码 解题思路本题和lc第5题思路差不多,而且注意,一般寻找回文串 都是用从中心向两端扩大 代码class Solution { public int countSubstrings(String
2021-03-21
621. 任务调度器(高频题) 621. 任务调度器(高频题)
621. 任务调度器 解题思路 代码 解题思路这题大致用贪心思想,但是我觉得这是一个找规律的题目。一刷2021/3/21,没弄明白 二刷 2021/4/29,其实就是求那个图的面积 详情见题解 不过要注意有多少个任务和出现最多的那个
2021-03-21
581. 最短无序连续子数组(高频题) 581. 最短无序连续子数组(高频题)
581. 最短无序连续子数组 解题思路 代码 解题思路数组问题一般就想到双指针。 将数组 nums 进行排序,记为 numsSort,然后比较 nums 和 numsSort 的元素来决定最左边和最右边不匹配的元素。它们之间的子数组
2021-03-21
494. 目标和(高频题) 494. 目标和(高频题)
494. 目标和 解题思路 代码 解题思路这题其实可以转化成动态规划中的零一背包问题,所以这个背包容量就是 (target + sum(nums)) / 2,要装入背包的东西就是nums[]中的元素。 这其中dp[i]的含义还是背包问
2021-03-21
461. 汉明距离(高频题) 461. 汉明距离(高频题)
461. 汉明距离 解题思路 代码 解题思路每次比较最右边的那个二进制位是否相同,然后不断右移即可 代码class Solution { public int hammingDistance(int x, int y) {
2021-03-20
448. 找到所有数组中消失的数字(高频题) 448. 找到所有数组中消失的数字(高频题)
448. 找到所有数组中消失的数字 解题思路 代码 解题思路将所有正数作为数组下标,置对应数组值为负值。那么,仍为正数的位置即为(未出现过)消失的数字。 举个例子: 原始数组:[4,3,2,7,8,2,3,1] 重置后为:[-4,
2021-03-20
399. 除法求值(高频题) 399. 除法求值(高频题)
399. 除法求值 解题思路 代码 解题思路一刷2021/3/20,没弄明白,题解见这里 代码// 定义邻接节点类 class Node { // 邻接节点代表的字符串 public String id; //
2021-03-20
394. 字符串解码(高频题) 394. 字符串解码(高频题)
394. 字符串解码 解题思路 代码 解题思路这题主要用到了栈,本题难点在于括号内嵌套括号,需要从内向外生成与拼接字符串,这与栈的先入后出特性对应。 算法流程1、构建辅助栈 stack, 遍历字符串 s 中每个字符 c; 当 c 为
2021-03-20
338. 比特位计数(高频题) 338. 比特位计数(高频题)
338. 比特位计数 解题思路 代码 解题思路其实这就是一个数学题,找到规律了就很简单 一个数比如a,如果是偶数,那么a比特位1的个数和(a/2)比特位1的个数是一样的,因为一个数是偶数那么他的二进制比他的一半的二进制只是多了一个0
2021-03-19
322. 零钱兑换(高频题) 322. 零钱兑换(高频题)
322. 零钱兑换 解题思路 代码 解题思路这题典型的**动态规划套路下的 完全背包问题**,主要注意 需要求的是最小值,那我们就需要先给dp数组全都赋一个最大值,一般常取Integer.MAX_VALUE,这个题目中,因为amou
2021-03-19
309. 最佳买卖股票时机含冷冻期(高频题) 309. 最佳买卖股票时机含冷冻期(高频题)
309. 最佳买卖股票时机含冷冻期 解题思路 代码 解题思路买卖股票问题都可以用动态规划,具体思路见这里 写状态转移方程的时候注意,绝大部分都是找到前一个状态和目前状态的关系比如: dp[i][0]=Math.max(dp[i-1]
2021-03-19
1 / 21