Diagonal traverse
题目链接:https://leetcode.com/contest/...
就是找index的规律。。
public class Solution { public int[] findDiagonalOrder(int[][] matrix) { if(matrix == null || matrix.length == 0 || matrix[0] == null || matrix[0].length == 0) return new int[0]; int m = matrix.length, n = matrix[0].length; int[] result = new int[m*n]; int i = 0; for(int count = 0; count <= m + n; count++) { if(count % 2 == 0) { for(int j = Math.max(0, count - m + 1); j <= Math.min(count, n - 1); j++) { result[i++] = matrix[count - j][j]; } } else { for(int j = Math.max(0, count - n + 1); j <= Math.min(count, m - 1); j++) { result[i++] = matrix[j][count - j]; } } } return result; } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/66582.html
摘要:题目要求思路和代码其实这道题目不难,只要捋清楚一些边界的场景即可。自上而下遍历数组时,一定是自右往左移动的,因此下标移动的方向为。自上而下有两种边界场景,一个是到达了左边界,此时的移动方向变为即上图中的。 题目要求 Given a matrix of M x N elements (M rows, N columns), return all elements of the matri...
摘要:对角线遍历给定一个含有个元素的矩阵行,列,请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。此时且均超出范围,,应当优先判断是否超出范围,执行,避免因为再次切换一次索引改变方式。避免出现同时小于时布尔值转换两次的错误。 对角线遍历 给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。Given ...
摘要:对角线遍历给定一个含有个元素的矩阵行,列,请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。此时且均超出范围,,应当优先判断是否超出范围,执行,避免因为再次切换一次索引改变方式。避免出现同时小于时布尔值转换两次的错误。 对角线遍历 给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。Given ...
摘要:定位节点树的别名计算树布局并返回节点数组计算树节点之间的父子关系获取或设置子节点访问函数对同级节点进行排序获取或设置相邻节点之间的间距的函数指定在和的布局尺寸指定每个节点的固定大小创建一个新的对角发生器获取或设置一个 d3.layout.tree API d3.layout.tree - position a tree of nodes tidil 定位节点树tree - alias...
Problem Given a square matrix of size N x N, calculate the absolute difference between the sums of its diagonals. Input Format The first line contains a single integer, N. The next N lines denote the ...
阅读 970·2023-04-25 22:27
阅读 843·2021-11-22 14:56
阅读 928·2021-11-11 16:54
阅读 1629·2019-08-30 15:54
阅读 3450·2019-08-30 13:20
阅读 1184·2019-08-30 10:55
阅读 2045·2019-08-26 13:34
阅读 3252·2019-08-26 11:53