力扣100(20)旋转图像

翻转法:

1.核心思想:顺时针旋转90度 = 先上下水平翻转 再沿主对角线翻转。

2.两部操作详解:

第一步:水平翻转:矩阵沿着水平中线对折。只需要遍历矩阵的上半部分,然后和下半部分行交换即可。mij --mn-1-ij 这二者互换。

第二步:沿主对角线翻转:mij ---mji.只需要遍历主对角线的左下角的元素

cpp 复制代码
class Solution {
public:
    void rotate(vector<vector<int>>& matrix) {
        //整体思路 先水平翻转 再 主对角线翻转

        int r = matrix.size();//行数
        int l = matrix[0].size();



        //水平对折
        for(int i = 0;i<((r/2));i++){//遍历一半的行数
            for(int j = 0;j<l;j++){//列
                //交换
            swap(matrix[i][j], matrix[l - i - 1][j]);
            }
        }    

        //主对角线交换
        for(int i = 1;i<r;i++){

            for(int j=0;j<i;j++){
               swap(matrix[i][j], matrix[j][i]);
            }
        }    
          
    
        }

};
相关推荐
2501_931803758 分钟前
线性筛(欧拉筛):从原理到应用
算法
酉鬼女又兒10 分钟前
零基础入门计算机网络:MAC地址、IP地址与ARP协议全面解析(含考研真题详解)
网络·网络协议·tcp/ip·计算机网络·考研·macos·职场和发展
ysu_031412 分钟前
leetcode数据结构与算法5~7:链表双指针与二级指针
数据结构·学习·算法·leetcode·链表
小欣加油16 分钟前
leetcode542 01矩阵
数据结构·c++·算法·leetcode·矩阵·bfs
wu_ye_m28 分钟前
学习c语言第34天 用函数每次输出+1,链式访问,int和void
c语言·学习·算法
Felomeng34 分钟前
从旧博客出发,向新的世界走去
程序人生·职场和发展
星马梦缘38 分钟前
算法设计与分析 作业三 答案与解析
算法·线性规划·二分图匹配·多元最短路·流网络·bellmanford·匈牙利树算法
微风欲寻竹影41 分钟前
Java数据结构——二叉树(Binary Tree)详解
java·数据结构·算法
想吃火锅100541 分钟前
【leetcode】3.无重复字符的最长字串js版
算法·leetcode·职场和发展
smith成长之旅1 小时前
08 | Mem0 框架分析: BM25 的 Sigmoid 归一化
数据库·python·算法