01 2020 档案

摘要:链接: "LeetCode662" 给定一个二叉树,编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。 每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度)之间的长 阅读全文
posted @ 2020-01-31 16:26 Jamest 阅读(158) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode659" 输入一个按升序排序的整数数组(可能包含重复数字),你需要将它们分割成几个子序列,其中每个子序列至少包含三个连续整数。返回你是否能做出这样的分割? 示例 1: 输入: [1,2,3,3,4,5] 输出: True 解释: 你可以分割出这样两个连续子序列 : 1, 阅读全文
posted @ 2020-01-31 15:55 Jamest 阅读(169) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode658" 给定一个排序好的数组,两个整数 k 和 x,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。如果有两个数与 x 的差值一样,优先选择数值较小的那个数。 示例 1: 输入: [1,2,3,4,5],k=4,x=3 输出: 阅读全文
posted @ 2020-01-30 20:10 Jamest 阅读(144) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode654" 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素。 左子树是通过数组中最大值左边部分构造出的最大二叉树。 右子树是通过数组中最大值右边部分构造出的最大二叉树。 通过给定的数组构建最大二叉树,并且输出这个树的根节点 阅读全文
posted @ 2020-01-30 17:08 Jamest 阅读(112) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode653" 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。 相关标签: 哈希表 类似于求两数之和,我们只需要在遍历二叉树过程中寻找是否存在有数为k 已经遍历到的数即可。 代码如下: python: C++: 阅读全文
posted @ 2020-01-28 22:30 Jamest 阅读(128) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode652" 给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。 两棵树重复是指它们具有相同的结构以及相同的结点值。 相关标签: 深度优先搜索 深度优先搜索加哈希表。由于在寻找重复子树过程中,我们需要记住每一步的结果,并且最终记录是 阅读全文
posted @ 2020-01-28 22:21 Jamest 阅读(131) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode650" 最初在一个记事本上只有一个字符 'A'。你每次可以对这个记事本进行两种操作: Copy All (复制全部) : 你可以复制这个记事本中的所有字符(部分的复制是不允许的)。 Paste (粘贴) : 你可以粘贴你上一次复制的字符。 给定一个数字 n 。你需要使用最 阅读全文
posted @ 2020-01-27 20:38 Jamest 阅读(142) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode648" 在英语中,有一个叫做 词根(root)的概念,它可以跟着其他一些词组成另一个较长的单词——我们称这个词为 继承词(successor)。例如,词根an,跟随着单词 other(其他),可以形成新的单词 another(另一个)。 现在,给定一个由许多词根组成的词典 阅读全文
posted @ 2020-01-27 20:22 Jamest 阅读(192) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode" [Leetcode]5319.删除回文子序列 给你一个字符串 s,它仅由字母 'a' 和 'b' 组成。每一次删除操作都可以从 s 中删除一个回文 子序列。返回删除给定字符串中所有字符(字符串为空)的最小删除次数。 注意这里,「子序列」定义:如果一个字符串可以通过删除原 阅读全文
posted @ 2020-01-26 19:53 Jamest 阅读(236) 评论(0) 推荐(0) 编辑
摘要:所谓最短路径问题是指:如果从图中某一顶点(源点)到达另一顶点(终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边的权值总和(称为路径长度)达到最小。 下面我们介绍两种比较常用的求最短路径算法: Dijkstra(迪杰斯特拉)算法 迪杰斯特拉算法思想是按路径长度递增的次序一步一步并入来求取, 阅读全文
posted @ 2020-01-26 19:16 Jamest 阅读(1067) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode647" 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。 示例 1: 输入: "abc" 输出: 3 解释: 三个回文子串: "a", "b", "c". 示例 2: 输入: 阅读全文
posted @ 2020-01-22 22:30 Jamest 阅读(108) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode646" 给出 n 个数对。 在每一个数对中,第一个数字总是比第二个数字小。 现在,我们定义一种跟随关系,当且仅当 b [3,4]dp[i]ipairs[i][0] pai 阅读全文
posted @ 2020-01-22 08:36 Jamest 阅读(132) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode" 有时间也要刷一下周赛,这周难度偏低,解析如下: [Leetcode]1323. 6 和 9 组成的最大数字 给你一个仅由数字 6 和 9 组成的正整数 num。你最多只能翻转一位数字,将 6 变成 9,或者把 9 变成 6 。返回你可以得到的最大数字。 判断有没有6,和 阅读全文
posted @ 2020-01-21 14:13 Jamest 阅读(360) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode645" 集合S包含从1n的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复。 给定一个数组nums代表了集合S发生错误后的结果。你的任务是首先寻找到重复出现的整数,再找 阅读全文
posted @ 2020-01-18 22:14 Jamest 阅读(103) 评论(0) 推荐(0) 编辑
摘要:链接: "LeetCode643" 给定n个整数,找出平均数最大且长度为k的连续子数组,并输出该最大平均数。 示例 1: 输入: [1,12,5,6,50,3], k = 4 输出: 12.75 解释: 最大平均数 (12 5 6+50)/4 = 51/4 = 12.75 相关标 阅读全文
posted @ 2020-01-18 22:10 Jamest 阅读(121) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示