【中等】【数组】498 - 对角线遍历(diagonal-traverse)
一 目录
不折腾的前端,和咸鱼有什么区别
目录 |
---|
一 目录 |
二 题目 |
三 解题思路 |
四 统计分析 |
五 解题套路 |
二 题目
给定一个含有 M x N 个元素的矩阵(M 行,N 列),
请以对角线遍历的顺序返回这个矩阵中的所有元素,
对角线遍历如下图所示。示例:输入:
[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]
]输出: [1,2,4,7,5,3,6,8,9]说明:给定矩阵中的元素总数不会超过 100000 。来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/diagonal-traverse
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
/*** @param {number[][]} matrix* @return {number[]}*/
var findDiagonalOrder = function(matrix) {};
根据上面的已知函数,小伙伴们可以先尝试破解本题,确定了自己的答案后再看下面代码。
三 解题思路
const findDiagonalOrder = (matrix) => {if (!matrix.length) {return [];}const M = matrix.length; // 横const N = matrix[0].length; // 列let times = M + N - 1; // 总斜线数const result = []; // 结果for (let i = 0; i <= times; i++) {let count = 0;while (count <= i) {let [m, n] = [0, 0]; // 横纵坐标// 偶数行由右上角到左下角if ((i + 1) % 2 === 0) {m = count;n = i - count;} else if ((i + 1) % 2 !== 0) { // 奇数行则相反m = i - count;n = count;}// 如果横坐标 m 大于总横数 M// 或者纵坐标 n 大于总列数 N// 那么就将其中断if (m > M - 1 || n > N - 1) {count++;continue;}result.push(matrix[m][n]);count++;}}return result;
};
四 统计分析
本题不需要统计分析。
五 套路分析
本题暂未发现任何套路,如果有但是 jsliang 后面发现了的话,会在 GitHub 进行补充。
如果小伙伴有更好的思路想法,或者没看懂其中某种解法,欢迎评论留言或者私聊 jsliang~
不折腾的前端,和咸鱼有什么区别!
jsliang 会每天更新一道 LeetCode 题解,从而帮助小伙伴们夯实原生 JS 基础,了解与学习算法与数据结构。
浪子神剑 会每天更新面试题,以面试题为驱动来带动大家学习,坚持每天学习与思考,每天进步一点!
扫描上方二维码,关注 jsliang 的公众号(左)和 浪子神剑 的公众号(右),让我们一起折腾!
jsliang 的文档库 由 梁峻荣 采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议进行许可。
基于https://github.com/LiangJunrong/document-library上的作品创作。
本许可协议授权之外的使用权限可以从 https://creativecommons.org/licenses/by-nc-sa/2.5/cn/ 处获得。
【中等】【数组】498 - 对角线遍历(diagonal-traverse)相关推荐
- java对角线遍历_Leetcode 498:对角线遍历Diagonal Traverse(python3、java)
对角线遍历 给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示. Given a matrix of M x N elemen ...
- LeetCode(498):对角线遍历 Diagonal Traverse(Java)
2019.11.7 #程序员笔试必备# LeetCode 从零单刷个人笔记整理(持续更新) github:https://github.com/ChopinXBP/LeetCode-Babel 逻辑推 ...
- [Swift]LeetCode498. 对角线遍历 | Diagonal Traverse
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- 498. 对角线遍历
498. 对角线遍历 给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示. 示例: 输入: [ [ 1, 2, 3 ], [ ...
- 力扣498. 对角线遍历
给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素. 代码思路:以第一行和右边最后一列作为每轮的开始元素,先用temp存储,全部按 从左上到右下 的 ...
- 【498. 对角线遍历】
来源:力扣(LeetCode) 描述: 给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素. 示例 1: 输入:mat = [[1,2,3],[4, ...
- 498 对角线遍历(找规律)
1. 问题描述: 给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示. 示例: 输入: [ [ 1, 2, 3 ], [ ...
- LeetCode 对角线遍历(找规律)
一.LeetCode 498 对角线遍历 题目描述: 给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示. 思路: 参考题解 ...
- 3.对角线遍历(LeetCode第498题)
一.题目描述 给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示. 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ...
最新文章
- 推荐8个特别实用、功能强大的软件,解决痛点需求
- 智汇医工 创享未来:国家标准《健康医疗信息安全指南》验证项目启动会成功举办...
- 从ftp获取文件并生成压缩包
- python turtle调整画布宽高_turtle.screensize改变不了窗口大小?
- App Store审核被拒的23个理由
- MySQL_Oracle_事物的隔离级别
- Android--批量插入数据到SQLite数据库
- Bailian4124 海贼王之伟大航路【DP】
- 『开源项目』基于STM32的智能垃圾桶之语音识别
- 前端rem布局知识总结
- NPN与PNP的区别
- 新猿木子李:0基础学python培训教程 Python操作Excel之格式转换
- web3开发课程精选
- 化工厂人员定位如何实现,主要有哪些功能?
- Markdown语法教程
- c语言atof函数_atof()函数与C ++中的示例
- mysql非root用户密码,CenterOS 8上修改msql的root密码和新增非root用户步骤
- 2022年危险化学品经营单位安全管理人员特种作业证考试题库及模拟考试
- Leetcode练习 2.双指针
- 【总结】利用AWS搭建混合云的架构