初学python记录:力扣1329. 将矩阵按对角线排序

ops/2024/10/18 18:19:33/

题目:

矩阵对角线 是一条从矩阵最上面行或者最左侧列中的某个元素开始的对角线,沿右下方向一直到矩阵末尾的元素。例如,矩阵 mat 有 6 行 3 列,从 mat[2][0] 开始的 矩阵对角线 将会经过 mat[2][0]mat[3][1] 和 mat[4][2] 。

给你一个 m * n 的整数矩阵 mat ,请你将同一条 矩阵对角线 上的元素按升序排序后,返回排好序的矩阵

思考:

因为每一条对角线都彼此平行互不干扰,所以我们可以遍历每一条对角线上的元素,将其看成一个新数组,从小到大排序后填回原来矩阵中对应的位置。代码如下:

python">class Solution(object):def diagonalSort(self, mat):""":type mat: List[List[int]]:rtype: List[List[int]]"""m = len(mat)n = len(mat[0])def diagonal(x, y, mat):# 遍历对角线上所有元素,看成一个新数组,从小到大排序diagonal_number = []i = xj = ywhile i < m and j < n:diagonal_number.append(mat[i][j])i += 1j += 1diagonal_number.sort()# 将排序后的元素填回矩阵index = 0i_ = xj_ = ywhile i_ < m and j_ < n:mat[i_][j_] = diagonal_number[index]index += 1i_ += 1j_ += 1return matdiagonals = []# 将第一行和第一列所有坐标都计入对角线起点列表diagonals中for p in range(n):diagonals.append((0, p))for q in range(1, m):diagonals.append((q, 0))# 遍历每一条对角线for diag in diagonals:diagonal(diag[0], diag[1], mat)return mat

提交通过:

 


http://www.ppmy.cn/ops/24500.html

相关文章

高扬程水泵,提升水源新选择!— 恒峰智慧科技

在炎炎夏日&#xff0c;阳光炙烤着大地&#xff0c;森林火灾的发生频率也随之上升。火势猛烈&#xff0c;烟雾弥漫&#xff0c;给森林带来了极大的破坏。为了保护森林资源&#xff0c;我们必须采取有效的措施来扑灭火灾。而在这其中&#xff0c;高扬程水泵成为了提升水源新选择…

OpenAI 新推出 AI 问答搜索引擎——SearchGPT 震撼登场

您的浏览器不支持 video 标签。 OpenAI-SearchGPT 近日&#xff0c;OpenAI 曝光了自己的一款令人瞩目的 AI 问答搜索引擎——SearchGPT。这款搜索引擎带来了全新的搜索体验&#xff0c;给整个行业带来了巨大的压力。 SearchGPT 支持多种强大的功能。首先&#xff0c;它能够通过…

react props传参

props是父子传参的常用方法。 一、主要功能 1.传参 定义&#xff1a;父级组件向子级组件传递参数。 2.验证数据类型格式 定义&#xff1a;可以指定父组件传递过来数据为指定类型。 3.设置默认值 定义&#xff1a;在参数未使用时&#xff0c;直接默认为指定值。 二、实例代…

【快速入门 LVGL】-- 5、Gui Guider界面移植到STM32工程

上篇&#xff0c;我们已学习&#xff1a;【快速入门 LVGL】-- 4、显示中文 工程中添加了两个按钮作示范。运行效果如图&#xff1a; 本篇&#xff1a;把Gui Guider设计好的界面&#xff0c;移植到STM32工程。 特别地&#xff1a; 在使用Gui Guider进行界面设计时&#xff0c;应…

Slave SQL线程与PXB FTWRL死锁问题分析

1. 问题背景 2.27号凌晨生产环境MySQL备库在执行备份期间出现因FLUSH TABLES WITH READ LOCK未释放导致备库复制延时拉大&#xff0c;慢日志内看持锁接近25分钟未释放。 版本&#xff1a; MySQL 5.7.21PXB 2.4.18 慢查询日志&#xff1a; 备份脚本中的备份命令&#xff1a;…

C语言——动态内存管理

大家好&#xff0c;本期和大家分享C语言动态内存管理有关知识&#xff0c;记得三连支持一下哦&#xff01; 一、为什么要有动态内存分配 我们目前已经知道的内存开辟方式有两种&#xff0c;分别是&#xff1a;定义变量和开辟数组空间。 这两种方式都有共同的特点&#xff1a;…

【ARM CoreLink 系列 4.1 -- NI-700 interconnect hub 控制器详细介绍】

文章目录 NI-700 InterconnectNI-700主要特性和优势包括:NI-700 关键功能TrustZone technologyNI-700 Interfaces完成者接口(Completer Interface)请求者接口(Requester Interface)NI-700 架构概述NI-700 Functional unitsNI-700 Interconnect CoreLink NI-700是ARM推出的…

CSP初赛知识精讲--线性数据结构

第十五节 线性树形结构 基础知识 线性表 线性表是指由n个具有相同特性的数据元素组成的有限序列&#xff0c;是最基本、最简单&#xff0c;也是最常用的一种数据结构。队列、栈、链表、哈希表等数据结构逻辑上都属于线性表。一般来讲&#xff0c;表中数据之间的关系是一对一的…