文章

52

粉丝

68

获赞

22

访问

11.6k

头像
旋转矩阵 题解:三种操作,三个函数
P1221 同济大学机试题
发布于2025年2月3日 14:51
阅读数 41

#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> op1(vector<vector<int>>a){
    vector<vector<int>>ans(a[0].size(),vector<int>(a.size()));
    int n=a.size(),m=a[0].size();
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            ans[j][n-1-i]=a[i][j];
        }
    }
    return ans;
}


vector<vector<int>> op2(vector<vector<int>>&a){
    for(int i=0;i<a.size();i++){
        for(int j=0;j<a[0].size()/2;j++){
            swap(a[i][j],a[i][a[0].size()-1-j]);
        }
    }
    return a;
}

vector<vector<int>> op3(vector<vector<int>>&a){
    vector<vector<int>>ans(a[0].size(),vector<int>(a.size()));
    int n=a.size(),m=a[0].size();
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            ans[m-1-j][i]=a[i][j];
        }
    }
    return ans;
}

int main(){
    int n,m,k...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发