LeetCode 题解系列(695):岛屿的最大面积 题目描述:给定一个包含了一些 0 和 1 的非空二维数组 grid 。 一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。) 示例 1: [[0,0,1,0,0,0,0,1,0,0,0,0,0], 2020-06-12 LeetCode题解系列 #数据结构 #算法
LeetCode 题解系列(654):最大二叉树 题目描述:给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。通过给定的数组构建最大二叉树,并且输出这个树的根节点。 示例 : 输入:[3,2,1,6,0,5]输出:返回下面这棵树的根节点: 6 / \ 3 5 2020-06-09 代码面试指南系列 #数据结构 #算法
LeetCode 题解系列(647): 回文字串 题目描述:给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。 示例 1: 输入: “abc”输出: 3解释: 三个回文子串: “a”, “b”, “c”.示例 2: 输入: “aaa”输出: 6说明: 6个回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”. 解法一: 中心扩展 2020-06-08 代码面试指南系列 #数据结构 #算法
LeetCode 题解系列(617):合并二叉树 题目描述:给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例 1: 输入: Tree 1 Tree 2 1 2020-06-06 代码面试指南系列 #数据结构 #算法
LeetCode 题解系列(621):任务调度器 题目描述:给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。 然而,两个相同种类的任务之间必须有长度为 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。 2020-06-06 LeetCode题解系列 #数据结构 #算法
LeetCode 题解系列(581):最短无序连续子数组 题目描述:给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 你找到的子数组应是最短的,请输出它的长度。 示例 1: 输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。说明 : 输入的数组长度范围在 [1, 10,000]。输入的数组 2020-06-03 LeetCode题解系列 #数据结构 #算法
LeetCode 题解系列(560):和为K的子数组 题目描述:给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例 1 : 输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 : 数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。 解法一: 前缀和 2020-06-02 LeetCode题解系列 #数据结构 #算法
LeetCode 题解系列(538):把二叉搜索树转换为累加树 题目描述:给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 例如: 输入: 原始二叉搜索树: 5 / 2 13 输出: 转换为累加树: 18 2020-06-01 代码面试指南系列 #数据结构 #算法
LeetCode 题解系列(543):二叉树的直径 题目描述:给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注意:两结点之间的路径长度是以它们之间边的数目表示 2020-06-01 代码面试指南系列 #数据结构 #算法
LeetCode 题解系列(557):反转字符串中的单词 III 题目描述:给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1: 输入: “Let’s take LeetCode contest”输出: “s’teL ekat edoCteeL tsetnoc” 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。 解法一: 将字符串整个反转。 反转后根据空格分隔。 倒序拼接分隔后的字符串。 2020-06-01 LeetCode题解系列 #数据结构 #算法