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;
    }
}
相关推荐
人道领域11 小时前
【LeetCode刷题日记】15.三数之和(梦破碎的地方)
算法·leetcode·面试
rannn_11111 小时前
【Redis|高级篇1】分布式缓存|持久化(RDB、AOF)、主从集群、哨兵、分片集群
java·redis·分布式·后端·缓存
PD我是你的真爱粉11 小时前
Redis 持久化、过期删除、淘汰策略与内存碎片全解析
java·redis·bootstrap
Percep_gan11 小时前
在芋道自定义数据权限
java·数据库
哆啦阿梦11 小时前
Java AI 应用工程师 - 完整技能清单
java·开发语言·人工智能
VT LI11 小时前
Lua 源码执行流程全解析:词法分析、语法分析、字节码生成、虚拟机执行与垃圾回收
java·开发语言·lua
凤山老林13 小时前
04-Java JDK, JRE和JVM
java·开发语言·jvm
camellias_19 小时前
【无标题】
java·tomcat
咸鱼2.020 小时前
【java入门到放弃】需要背诵
java·开发语言
椰猫子20 小时前
Java:异常(exception)
java·开发语言