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--;
     }
    } 
}
相关推荐
不会就选b1 分钟前
算法日常・每日刷题--<动态规划>19
算法·leetcode·职场和发展
没有钱的钱仔1 小时前
协方差矩阵含义
算法·机器学习·矩阵
垆边人似月.1 小时前
华为机试题 :和为 K 的子数组个数
算法·leetcode·华为
三*一2 小时前
优化修整算法
前端·javascript·算法
达子6662 小时前
RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)
开发语言·算法·rust
夏幻灵2 小时前
每日一题:LeetCode 165:比较版本号
算法·leetcode·职场和发展
道尔柯南2 小时前
C++ 面向对象编程入门:类和对象(上)
开发语言·c++·算法
Navigator_Z3 小时前
LeetCode //C - 1288. Remove Covered Intervals
c语言·算法·leetcode
码爸3 小时前
决策树介绍与示例
python·算法·机器学习