![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣
文章平均质量分 65
力扣题解
向上的yyy
路漫漫其修远兮,吾将上下而求索
展开
-
1329. 将矩阵按对角线排序
矩阵对角线 是一条从矩阵最上面行或者最左侧列中的某个元素开始的对角线,沿右下方向一直到矩阵末尾的元素。例如,矩阵 mat 有 6 行 3 列,从 mat[2][0] 开始的 矩阵对角线 将会经过 mat[2][0]、mat[3][1] 和 mat[4][2]。给你一个 m * n 的整数矩阵 mat ,请你将同一条 矩阵对角线 上的元素按升序排序后,返回排好序的矩阵。示例 1:输入:mat = [[3,3,1,1],[2,2,1,2],[1,1,1,2]]原创 2022-08-23 13:20:05 · 218 阅读 · 0 评论 -
654. 最大二叉树
给定一个不重复的整数数组 nums。最大二叉树 可以用下面的算法从 nums 递归地构建:创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后缀上 构建右子树。返回 nums 构建的 最大二叉树。原创 2022-08-22 21:06:25 · 74 阅读 · 0 评论 -
1302. 层数最深叶子节点的和
给你一棵二叉树的根节点 root ,请你返回 层数最深的叶子节点的和。示例 1:输入:root = [1,2,3,4,5,null,6,7,null,null,null,null,8]输出:15示例 2:输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]输出:19来源:力扣(LeetCode)链接:https://leetcode.cn/problems/deepest-leaves-sum。原创 2022-08-19 19:41:35 · 167 阅读 · 0 评论 -
1656. 设计有序流
有 n 个 (id, value) 对,其中 id 是 1 到 n 之间的一个整数,value 是一个字符串。不存在 id 相同的两个 (id, value) 对。设计一个流,以 任意 顺序获取 n 个 (id, value) 对,并在多次调用时 按 id 递增的顺序 返回一些值。实现 OrderedStream 类:OrderedStream(int n) 构造一个能接收 n 个值的流,并将当前指针 ptr 设为 1。原创 2022-08-19 17:43:26 · 79 阅读 · 0 评论 -
768. 最多能完成排序的块 II
这个问题和“最多能完成排序的块”相似,但给定数组中的元素可以重复,输入数组最大长度为2000,其中的元素最大为10**8。arr是一个可能包含重复元素的整数数组,我们将这个数组分割成几个“块”,并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。我们最多能将数组分成多少块?示例 1:输入: arr = [5,4,3,2,1]输出: 1解释:将数组分成2块或者更多块,都无法得到所需的结果。...原创 2022-08-13 12:57:45 · 87 阅读 · 0 评论 -
1282. 用户分组
有 n 个人被分成数量未知的组。每个人都被标记为一个从 0 到 n - 1 的唯一ID。给定一个整数数组 groupSizes ,其中 groupSizes[i] 是第 i 个人所在的组的大小。例如,如果 groupSizes[1] = 3 ,则第 1 个人必须位于大小为 3 的组中。返回一个组列表,使每个人 i 都在一个大小为 groupSizes[i] 的组中。每个人应该 恰好只 出现在 一个组 中,并且每个人必须在一个组中。如果有多个答案,返回其中 任何 一个。...原创 2022-08-12 21:47:40 · 169 阅读 · 0 评论 -
LeetCode 42. 接雨水
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9提示:n == height.length1 <= n <= 2 * 10原创 2022-02-20 22:02:12 · 79 阅读 · 0 评论 -
1014. 最 佳观光组合
给你一个正整数数组 values,其中 values[i] 表示第 i 个观光景点的评分,并且两个景点 i 和 j 之间的 距离 为 j - i。一对景点(i < j)组成的观光组合的得分为 values[i] + values[j] + i - j ,也就是景点的评分之和 减去 它们两者之间的距离。返回一对观光景点能取得的最高分。示例 1:输入:values = [8,1,5,2,6]输出:11解释:i = 0, j = 2, values[i] + values[j] + i - j原创 2022-02-20 21:14:21 · 188 阅读 · 0 评论 -
1299. 将每个元素替换为右侧最大元素 java
给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。完成所有替换操作后,请你返回这个数组。示例 1:输入:arr = [17,18,5,4,6,1]输出:[18,6,6,6,1,-1]解释:下标 0 的元素 --> 右侧最大元素是下标 1 的元素 (18)下标 1 的元素 --> 右侧最大元素是下标 4 的元素 (6)下标 2 的元素 --> 右侧最大元素是下标 4 的元素 (6)下标 3 的元素 --> 右侧最大元素原创 2022-02-20 19:55:56 · 112 阅读 · 0 评论 -
121. 买卖股票的最 佳时机
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1原创 2022-02-20 19:32:57 · 149 阅读 · 0 评论