代码编织梦想

在这里插入图片描述

LeetCode刷题记录


📜题目描述

给你一个大小为 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 == mat[i].length
1 <= m, n <= 10^4
1 <= m * n <= 10^4
-10^5 <= mat[i][j] <= 10^5

💡解题思路

在这里插入图片描述
我们规定,在路径中有向上走向下走
褐色的路线是向上走(左图),黄色的路线是向下走(右图)
向上走包括(红色字体)
1、向上走到头,向右走:行坐标为0,并且列坐标不为n-1
2、向右走到头,向下走:列坐标为n-1
3、同时向右和向下:其他情况就是同时向右和向上

向下走包括(绿色字体):
1、向左走到头,向下走:列坐标为0,并且行坐标不为n-1
2、向下走到头,向上走:行坐标为n-1
3、同时向左和向下:其余情况就是向左和向下

我们发现:
坐标和为偶数时 向上走
坐标和为奇数时,向下走

所以,从[0][0]开始填入数组,并判断下一次往哪走。
如果坐标和为偶数,就向上走。
如果坐标和为奇数,就向下走。然后根据上面所列的具体的情况再进行判断向右or向左or向上or向下

C++代码

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/K_04_10/article/details/128561934

leetcode 498. 对角线遍历_wwxy261的博客-爱代码爱编程_leetcode对角线遍历

给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。   示例: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,4,7,5,3,6,8,9] 解释:   说明: 给定矩阵中的元素总数不会超过 1

leetcode498. 对角线遍历_eggygedan的博客-爱代码爱编程

给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。   示例: 输入: [  [ 1, 2, 3 ],  [ 4, 5, 6 ],  [ 7, 8, 9 ] ] 输出:  [1,2,4,7,5,3,6,8,9]   简析:就是斜着输出,遇到边界转弯。往右

leetcode498.对角线遍历_from the deep的博客-爱代码爱编程

给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素。 这题的两个要点: 1.对下标的五种情况的判断 2.对传入的二维数组是:空数组,单行数组,单列数组的处理 class

LeetCode 498. 对角线遍历【c++/java详细题解】-爱代码爱编程

目录 1、题目2、思路3、c++代码4、java代码 1、题目 给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。 示例: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,4,7,5,3,6

LeetCode 498. 对角线遍历(c++)-爱代码爱编程

LeetCode 498. 对角线遍历(c++) 图片来源1.对角线性质 设矩阵行数为row,列数为column a.对角线总数为 row+column-1; b.同一条对角线上每个元素横纵坐标之和 x + y都相等,都等于对角线的序号。 **2.思路** 思路就是模拟图片中的行走路径。 设对角线序号=i,对角线起始点坐标

leetcode 498. 对角线遍历_goldenwillows的博客-爱代码爱编程

给你一个大小为 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 ==

leetcode 498. 对角线遍历_抠脚的大灰狼的博客-爱代码爱编程

题目描述: 给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素。 示例: 输入:mat = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,4,7,5,3,6,8,9] 思路: 一个矩阵,假设共有n行,m列,则其对角线(指的是/这种方向的对角线,而不是\)一共有n + m

leetcode498. 对角线遍历_liuhongtaowxp1的博客-爱代码爱编程

给你一个大小为 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] 思路:使用递归大法

【自学java】java语言数组遍历-爱代码爱编程

Java语言数组遍历 Java语言数组遍历教程 Java 语言 中如果我们定义好了数组,并且给数组设置了值,那么怎么样访问数组呢?怎么样获取数组里面的数据值呢?我们可以使用 for 来遍历数组,获取每个位置上的值。 J

【leetcode每日一题】——50.pow(x, n)-爱代码爱编程

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 数学 二【题目难度】 中等 三【题

l2-036 网红点打卡攻略-爱代码爱编程

一个旅游景点,如果被带火了的话,就被称为“网红点”。大家来网红点游玩,俗称“打卡”。在各个网红点打卡的快(省)乐(钱)方法称为“攻略”。你的任务就是从一大堆攻略中,找出那个能在每个网红点打卡仅一次、并且路上花费最少的攻略。 输入格式: 首先第一行给出两个正整数:网红点的个数 N(1<N≤200)和网红点之间通路的条数 M。随后 M 行,每行给出有

【leetcode】最小栈 [m](栈)-爱代码爱编程

155. 最小栈 - 力扣(LeetCode) 一、题目 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取

7-6 帅到没朋友-爱代码爱编程

当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。 输入格式: 输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),I

leetcode498. 对角线遍历(c++)_c++中如何求出一个n*m的矩阵的对角线-爱代码爱编程

给你一个大小为 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 ==

leetcode[264]丑数ii-爱代码爱编程

难度:中等 题目: 给你一个整数 n ,请你找出并返回第 n 个 丑数 。 丑数 就是只包含质因数 2 、3 和/或 5 的正整数。 示例 1: 输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前

gurobi中callback函数的使用整理_gurobi函数-爱代码爱编程

目录 1.callback的使用 2.callback其它常用函数         (1)model.cbGetNodeRel(vars):         (2)model.cbGetSolution(vars):         (3)model.cbLazy(lhs, sense, rhs):         (4)model.cbCut