当前位置: 首页 > news >正文

3446. 按对角线进行矩阵排序

Problem: 3446. 按对角线进行矩阵排序

文章目录

  • 思路
  • 解题过程
  • 复杂度
  • Code

思路

发现每条对角线行号减列号是一个定值。
k=i-j+n,i=0,j=n-1时,k=1;i=m-1,j=0时,k=m+n-1。

解题过程

遍历对角线,找出最小和最大列,如果最小列大于零说明在矩阵右上角,升序排序,反之逆序排序。

复杂度

  • 时间复杂度: O(n2logn)O(n^2logn)O(n2logn)
  • 空间复杂度: O(n)O(n)O(n)

Code

class Solution {
public:vector<vector<int>> sortMatrix(vector<vector<int>>& grid) {int m = grid.size(), n = grid[0].size();for (int k = 1; k < m + n; k++) {int minj = max(n - k, 0);int maxj = min(m + n - 1 - k, n - 1);vector<int> temp;for (int j = minj; j <= maxj; j++) {temp.push_back(grid[k + j - n][j]);}if (minj > 0) {ranges::sort(temp);} else {ranges::sort(temp, greater<int>());}for (int j = minj; j <= maxj; j++) {grid[k + j - n][j] = temp[j - minj];}}return grid;}
};
http://www.dtcms.com/a/355222.html

相关文章:

  • 前端异常监控,性能监控,埋点,怎么做的
  • 响应式编程框架Reactor【1】
  • React 类生命周期 和 React Hooks 比对
  • 算力沸腾时代,如何保持“冷静”?国鑫液冷SY4108G-G4解锁AI服务器的“绿色空调”!
  • 第五章:Go运行时、内存管理与性能优化之性能分析与pprof工具
  • 配置windows下apache+PHP环境
  • 前端技术之---复制文本
  • docker安装kafka、zookeeper详细步骤
  • 【TEC045-KIT】基于复旦微 FMQL45T900 的全国产化 ARM 开发套件
  • COLMAP 和 SFM的关系是什么?
  • 微服务即时通信系统(十三)--- 项目部署
  • 第十七章 Java基础-常用API-System
  • ArkTS 与 TypeScript 的关系及鸿蒙开发常见错误案例
  • Upload Symbols Failed
  • 万字详解架构设计:业务架构、应用架构、数据架构、技术架构、单体、分布式、微服务都是什么?
  • 只用三招,无招重启钉钉
  • Video Ocean 接入 GPT-5
  • GeoScene Maps 开发-核心地图-标记点管理-用户交互弹窗
  • 大白话拆解力扣算法 HOT 100 - 哈希/双指针/滑动窗口
  • Mac Pro M4芯片 安装 VMware Fusion 和 windows
  • Vue Router 路由守卫详解与面试指南
  • 实体门店怎么利用小程序做好分销
  • 目标检测领域基本概念
  • 【Python】QT(PySide2、PyQt5):Qt Designer,VS Code使用designer,可能的报错
  • 发那科机器人弧焊电源气体省气装置
  • esp32c2 at 请问通过HTTPS进行OTA升级的AT命令流程有吗?
  • 专项智能练习(多媒体概述)
  • 如果已经安装了electron的一个版本,再次使用命令npm install electron不指定electron版本时,会下载安装新版本么?
  • VS2022+QT6.7+Multimedia(捕获Windows音频数据,生成实时频谱)
  • Day16_【机器学习建模流程】