LEETCODE 998. Maximum Binary Tree II 解题思路分析

题目大意:

最大二叉树 II

最大树定义:一个树,其中每个节点的值都大于其子树中的任何其他值。

给出最大树的根节点 root。

就像之前的问题那样,给定的树是从表 A(root = Construct(A))递归地使用下述 Construct(A) 例程构造的:

  • 如果 A 为空,返回 null
  • 否则,令 A[i] 作为 A 的最大元素。创建一个值为 A[i] 的根节点 root
  • root 的左子树将被构建为 Construct([A[0], A[1], …, A[i-1]])
  • root 的右子树将被构建为 Construct([A[i+1], A[i+2], …, A[A.length – 1]])
  • 返回 root

请注意,我们没有直接给定 A,只有一个根节点 root = Construct(A).

假设 B 是 A 的副本,并附加值 val。保证 B 中的值是不同的。

返回 Construct(B)。

继续阅读
发表在 leetcode | 标签为 , , , , | 留下评论

LEETCODE 654. Maximum Binary Tree 解题思路分析

题目大意:

最大二叉树

给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:

  1. 二叉树的根是数组中的最大元素。
  2. 左子树是通过数组中最大值左边部分构造出的最大二叉树。
  3. 右子树是通过数组中最大值右边部分构造出的最大二叉树。

通过给定的数组构建最大二叉树,并且输出这个树的根节点。

继续阅读
发表在 leetcode | 标签为 , , , | 一条评论

LEETCODE 300. Longest Increasing Subsequence 解题思路分析

题目大意:

最长上升子序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。

继续阅读
发表在 leetcode | 标签为 , , , , , , | 留下评论

LEETCODE 564. Find the Closest Palindrome 解题思路分析

题目大意:

寻找最近的回文数

给定一个整数 n ,你需要找到与它最近的回文数(不包括自身)。

“最近的”定义为两个整数差的绝对值最小。

继续阅读
发表在 leetcode | 标签为 , , , , | 留下评论

LEETCODE 301. Remove Invalid Parentheses 解题思路分析

删除无效的括号

删除最小数量的无效括号,使得输入的字符串有效,返回所有可能的结果。

说明: 输入可能包含了除 ( 和 ) 以外的字符。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 297. Serialize and Deserialize Binary Tree 解题思路分析

题目大意:

二叉树的序列化与反序列化

序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。

请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 1480. Running Sum of 1d Array 解题思路分析

题目大意:

一维数组的动态和

给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。

请返回 nums 的动态和。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 1481. Least Number of Unique Integers after K Removals 解题思路分析

题目大意:

不同整数的最少数目

给你一个整数数组 arr 和一个整数 k 。现需要从数组中恰好移除 k 个元素,请找出移除后数组中不同整数的最少数目。

继续阅读
发表在 leetcode | 标签为 , , , , | 留下评论

LEETCODE 1506. Find Root of N-Ary Tree 解题思路分析

题目大意:

找到N叉树的根节点

给你一个包含N叉树所有节点的列表集合Node[] tree,每个节点都有一个不重复的值。

找出并返回N叉树的根节点

N叉树输入序列以其级别顺序表示,每组子节点由null分隔(请参见示例)。

进阶:你可以使用O(1)的空间复杂度找到根节点吗?

注意:

  1. 下面例子的输入数据仅为测试使用
  2. 您将以任意顺序接收N叉树所有节点的列表作为输入。
继续阅读
发表在 leetcode | 标签为 , , , , | 留下评论

LEETCODE 1476. Subrectangle Queries 解题思路分析

题目大意:

子矩形查询

请你实现一个类 SubrectangleQueries ,它的构造函数的参数是一个 rows x cols 的矩形(这里用整数矩阵表示),并支持以下两种操作:

  1. updateSubrectangle(int row1, int col1, int row2, int col2, int newValue) 用 newValue 更新以 (row1,col1) 为左上角且以 (row2,col2) 为右下角的子矩形。
  2. getValue(int row, int col) 返回矩形中坐标 (row,col) 的当前值。
继续阅读
发表在 leetcode | 标签为 , , | 留下评论