- 暴力即可,因为满足i-j的值都是相等的是复合题意的,所以我们每次将i-j相同的存入数组,然后sort排序,将原来对角线数组更新为拍完数之后的数组
class Solution {
public:
vector<vector<int>> diagonalSort(vector<vector<int>>& mat) {
int h=mat.size();
int l=mat[0].size();
for(int i=0;i<h;i++)
{
for(int j=0;j<l;j++)
{
vector<int>v;
for(int k=i;k<h;k++)
{
for(int t=j;t<l;t++)
{
if(k-t==i-j)
v.push_back(mat[k][t]);
}
}
sort(v.begin(),v.end());
int m=0;
for(int k=i;k<h;k++)
{
for(int t=j;t<l;t++)
{
if(k-t==i-j)
{
mat[k][t]=v[m++];
}
}
}
}
}
return mat;
}
};