3446. 按对角线进行矩阵排序
题目 给你一个大小为 n x n 的整数方阵 grid。返回一个经过如下调整的矩阵: * 左下角三角形(包括中间对角线)的对角线按 非递增顺序 排序。 * 右上角三角形 的对角线按 非递减顺序 排序。 示例 1: 输入: grid = [[1,7,3],[9,8,2],[4,5,6]] 输出: [[8,2,3],[9,6,7],[4,5,1]] 解释: 标有黑色箭头的对角线(左下角三角形)应按非递增顺序排序: * [1, 8, 6] 变为 [8, 6,…
题目 给你一个大小为 n x n 的整数方阵 grid。返回一个经过如下调整的矩阵: * 左下角三角形(包括中间对角线)的对角线按 非递增顺序 排序。 * 右上角三角形 的对角线按 非递减顺序 排序。 示例 1: 输入: grid = [[1,7,3],[9,8,2],[4,5,6]] 输出: [[8,2,3],[9,6,7],[4,5,1]] 解释: 标有黑色箭头的对角线(左下角三角形)应按非递增顺序排序: * [1, 8, 6] 变为 [8, 6,…
题目 给你一个大小为 n x m 的二维整数矩阵 grid,其中每个元素的值为 0、1 或 2。 V 形对角线段 定义如下: * 线段从 1 开始。 * 后续元素按照以下无限序列的模式排列:2, 0, 2, 0, ...。 * 该线段: * 起始于某个对角方向(左上到右下、右下到左上、右上到左下或左下到右上)。 * 沿着相同的对角方向继续,保持 序列模式 。 * 在保持 序列模式 的前提下,最多允许 一次顺时针 90 度转向 另一个对角方向。 返回最长的 V 形对角线段 的 长度 。如果不存在有效的线段,则返回 0。 示例 1: 输入:…
题目 给你一个下标从 0 开始的二维整数数组 dimensions。 对于所有下标 i(0 <= i < dimensions.length),dimensions[i][0] 表示矩形 i 的长度,而 dimensions[i][1] 表示矩形 i 的宽度。 返回对角线最 长 的矩形的 面积 。如果存在多个对角线长度相同的矩形,返回面积最 大 的矩形的面积。 示例 1: 输入:dimensions = [[9,3],[8,6]] 输出:48 解释: 下标 = 0,长度 = 9,宽度…
题目 给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素。 示例 1: 输入:mat = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,4,7,5,3,6,8,9] 示例 2: 输入:mat = [[1,2],[3,4]] 输出:[1,2,3,4] 提示: * m == mat.length * n…
题目 给你一个二进制数组 nums ,你需要从中删掉一个元素。 请你在删掉元素的结果数组中,返回最长的且只包含 1 的非空子数组的长度。 如果不存在这样的子数组,请返回 0 。 提示 1: 输入:nums = [1,1,0,1] 输出:3 解释:删掉位置 2 的数后,[1,1,1] 包含 3 个 1 。 示例 2: 输入:nums = [0,1,1,1,0,1,1,0,1] 输出:5 解释:删掉位置 4…
题目 给你一个二维 二进制 数组 grid。你需要找到 3 个 不重叠、面积 非零 、边在水平方向和竖直方向上的矩形,并且满足 grid 中所有的 1 都在这些矩形的内部。 返回这些矩形面积之和的 最小 可能值。 注意,这些矩形可以相接。 示例 1: 输入: grid = [[1,0,1],[1,1,1]] 输出: 5 解释: * 位于 (0, 0) 和 (1, 0) 的 1 被一个面积为 2 的矩形覆盖。 * 位于 (0, 2) 和…
题目 给你一个二维 二进制 数组 grid。请你找出一个边在水平方向和竖直方向上、面积 最小 的矩形,并且满足 grid 中所有的 1 都在矩形的内部。 返回这个矩形可能的 最小 面积。 示例 1: 输入: grid = [[0,1,0],[1,0,1]] 输出: 6 解释: 这个最小矩形的高度为 2,宽度为 3,因此面积为 2 * 3 = 6。 示例 2: 输入: grid = [[0,0],[1,0]] 输出: 1 解释: 这个最小矩形的高度和宽度都是…
题目 给你一个 m x n 的二进制矩阵 mat ,请你返回有多少个 子矩形 的元素全部都是 1 。 示例 1: 输入:mat = [[1,0,1],[1,1,0],[1,1,0]] 输出:13 解释: 有 6 个 1x1 的矩形。 有 2 个 1x2 的矩形。 有 3 个 2x1 的矩形。 有 1 个 2x2 的矩形。 有 1 个…