LeetCode
Fated-2
愿年轻的你海阔天空,归来时满载无悔的光阴。
展开
-
【NowCoder LeetCode】interleaving-string 动态规划
题目链接:interleaving-string题意:判断s3是否可以在不改变s1、s2字符顺序的情况下,由s1和s2交织而成。思路:一开始我的想法是模拟字符串s3的每一个字符,判断s3的当前字符是否为s1、s2当前字符其中的一个,但后来发现会出现问题,因为如果s1和s2当前所在的字符和s3当前的字符都相等的话,这时候就要分两种情况判断,但是后面的字符同样也会出现这种情况,就导致可能会分为4、8、16…多的情况,因此是行不通的。那么如何使用动态规划解决呢?首先根据题意,如果长度为 len1 的原创 2020-08-09 19:09:09 · 187 阅读 · 0 评论 -
【NewCode-LeetCode】binary-tree-maximum-path-sum
题目:传送门题意:问题就类似于在一个无向图中,以某个点为起点,以另一个点为终点,使其从起点到终点的路劲和最大,而这里就是把无向图变成了二叉树。思路①可以发现这道题是分而治之的思想,其实做得多了会发现很多二叉树的问题都是分而治之的思想;要得出二叉树的最大值(这里就默认指最大路径和的值),先得算出左子树的最大值和右子树的最大值;而左子树的最大值又需要先算出它的左子树的最大值和右子树的最大值,右子树的最大值也是先算出它的左子树的最大值和右子树的最大值,…②最后分呀分呀就分到了叶子结点,而叶子节点的左子树原创 2020-07-04 10:11:01 · 135 阅读 · 0 评论 -
【NewCode-LeetCode】recover-binary-search-tree
传送门题目二叉搜索树(BST)中的两个节点被错误地交换了,需要在不改变树的结构的情况下恢复这棵树。思路一开始理解错了,以为是两个同一层的节点被交换了,后来发现是我想简单了,题意指的是任意的两个节点;那么如何找到这两个节点呢?由二叉搜索树的概念,我们知道左子树所有节点的值都小于根节点的值,右子树所有节点的值都大于根节点的值,因此这两个被交换的节点一共有3种可能情况:(此处的根节点是指其中某个子树的根节点,并不一定是root节点)①一个是左子树中的节点,一个是右子树中的节点②一个是左子树中的节点,原创 2020-05-29 21:28:39 · 162 阅读 · 0 评论 -
【LeetCode 3】 无重复字符的最长子串
题目链接Problem Description给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"...原创 2020-03-28 22:19:51 · 142 阅读 · 0 评论 -
【LeetCode 290】单词规律
Problem Description题目链接给定一种规律 pattern和一个字符串str,判断 str 是否遵循相同的规律。这里的遵循指完全匹配,例如,pattern里的每个字母和字符串str中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true示...原创 2020-03-28 20:55:40 · 502 阅读 · 0 评论