Java | Leetcode Java题解之第498题对角线遍历

题目:

题解:

java 复制代码
class Solution {
    public int[] findDiagonalOrder(int[][] mat) {
        int m = mat.length;
        int n = mat[0].length;
        int[] res = new int[m * n];
        int pos = 0;
        for (int i = 0; i < m + n - 1; i++) {
            if (i % 2 == 1) {
                int x = i < n ? 0 : i - n + 1;
                int y = i < n ? i : n - 1;
                while (x < m && y >= 0) {
                    res[pos] = mat[x][y];
                    pos++;
                    x++;
                    y--;
                }
            } else {
                int x = i < m ? i : m - 1;
                int y = i < m ? 0 : i - m + 1;
                while (x >= 0 && y < n) {
                    res[pos] = mat[x][y];
                    pos++;
                    x--;
                    y++;
                }
            }
        }
        return res;
    }
}
相关推荐
再睡一夏就好14 分钟前
【C++闯关笔记】STL:deque与priority_queue的学习和使用
java·数据结构·c++·笔记·学习·
天选之女wow14 分钟前
【代码随想录算法训练营——Day43(Day42周日休息)】动态规划——300.最长递增子序列、674.最长连续递增序列、718.最长重复子数组
算法·leetcode·动态规划
SimonKing16 分钟前
【开发者必备】Spring Boot 2.7.x:WebMvcConfigurer配置手册来了(一)!
java·后端·程序员
oak隔壁找我17 分钟前
Java Collection 包使用指南
java·后端
Hero | 柒20 分钟前
设计模式之单例模式
java·单例模式·设计模式
哈哈哈哈~22 分钟前
Java中的单例模式
java·单例模式
纪莫25 分钟前
技术面:Spring(循环依赖,spring与springboot的区别)
java·spring·java面试⑧股
oak隔壁找我25 分钟前
Spring Boot MongoDB 使用技巧
java·后端
嫄码32 分钟前
BigDecimal对象比较时的注意事项
java