1329. 将矩阵按对角线排序

1329. 将矩阵按对角线排序


题目链接:1329. 将矩阵按对角线排序

代码如下:

cpp 复制代码
//参考:https://leetcode.cn/problems/sort-the-matrix-diagonally/solutions/2760094/dui-jiao-xian-pai-xu-fu-yuan-di-pai-xu-p-uts8
class Solution {
public:
    vector<vector<int>> diagonalSort(vector<vector<int>>& mat) 
    {
        int m=mat.size(),n=mat[0].size();
        vector<int> a(min(m,n));
        for(int k=1-n;k<m;k++)//k=i-j
        {
            int left_i=max(k,0),right_i=min(k+n,m);
            for(int i=left_i;i<right_i;i++)
            {
                a[i-left_i]=mat[i][i-k];
            }
            sort(a.begin(),a.begin()+(right_i-left_i));
            for(int i=left_i;i<right_i;i++)
            {
                mat[i][i-k]=a[i-left_i];
            }
        }
        return mat;
    }
};
相关推荐
xu_yule几秒前
算法基础—组合数学
c++·算法
Tansmjs13 分钟前
C++中的工厂模式变体
开发语言·c++·算法
naruto_lnq15 分钟前
多平台UI框架C++开发
开发语言·c++·算法
爱装代码的小瓶子16 分钟前
【C++与Linux基础】文件篇(8)磁盘文件系统:从块、分区到inode与ext2
linux·开发语言·c++
naruto_lnq30 分钟前
分布式日志系统实现
开发语言·c++·算法
Zsy_05100341 分钟前
【C++】stack、queue、容器适配器
开发语言·c++
星火开发设计1 小时前
命名空间 namespace:解决命名冲突的利器
c语言·开发语言·c++·学习·算法·知识
安全二次方security²1 小时前
CUDA C++编程指南(7.31&32&33&34)——C++语言扩展之性能分析计数器函数和断言、陷阱、断点函数
c++·人工智能·nvidia·cuda·断点·断言·性能分析计数器函数
爱学习的阿磊1 小时前
C++中的策略模式应用
开发语言·c++·算法
L_09071 小时前
【Linux】进程状态
linux·开发语言·c++