20.右旋转图片

1.题目描述

2.解题思路

第一步:专置整个矩阵,按行遍历,记住只需要遍历上三角。

第二部:按行遍历逆置所有行。

动手画一画,头一次写不太好想,做过一次就知道了,都是这么过来的。

3.代码

cpp 复制代码
void rotate(int** matrix, int matrixSize, int* matrixColSize) {
    //先按主对角线转置所有元素
    int row = matrixSize;
    int col = matrixColSize[0];
    for(int i = 0 ;i <= row-1; i++ ){
        for(int j = i+1;j<=col-1;j++){
            int temp = matrix[i][j];
            matrix[i][j] = matrix[j][i];
            matrix[j][i] = temp;
        }
    }
    //开始对每行进行逆置
    for(int k = 0;k<=row-1;k++){
        int i = 0;
        int j = col-1;
      while(i<=j){
        int temp = matrix[k][i];
        matrix[k][i] = matrix[k][col-1-i];
        matrix[k][col-1-i] = temp;
        i++;
        j--;
     }
    } 
}
相关推荐
ZhengEnCi6 小时前
模型训练完整流程:从数据准备到模型上线的 10 个关键步骤(全文可跑)
后端·算法
吞下星星的少年·-·9 小时前
Div.3 CF 1131A题(排序,模拟)
算法·模拟·排序
圣保罗的大教堂10 小时前
leetcode 453. 最小操作次数使数组元素相等 中等
leetcode
aichitang202410 小时前
代数拓扑学与现代前沿视角
考研·算法·数学建模·ai·拓扑学·高考
二本咕咕-机械转码10 小时前
FreeRTOS深入解析(一)_链表与并发保护——哨兵循环链表、排序键游标、临界区与关调度
单片机·算法·链表
-银雾鸢尾-10 小时前
两数之和-C++实现
c++·算法
j7~11 小时前
【动态规划算法专题】动态规划五部曲实战:泰波那契数、三步问题、最小花费爬楼梯
c++·算法·动态规划·数据结构与算法
倍利福猎头公司官方账号11 小时前
大企业HR如何向猎头公司清晰传达AI岗位的技术需求?
人工智能·算法·机器人·求职招聘·业界资讯
揽星河..11 小时前
【C++】类和对象
c++·算法