zoukankan      html  css  js  c++  java
  • leetcode 48. 旋转图像

    思路 1 通过数组下标进行计算

    先沿着竖直方向中心线翻转+再沿着主对角线翻转

    代码:

    class Solution {
    public:
        void rotate(vector<vector<int>>& matrix) {
            int len = matrix.size();
            //先进行行以中间线进行翻转
            for(auto & num :matrix)
            {
                reverse(num.begin(),num.end());
            }
            for(int i =0;i<len;i++)
            {
                for(int j = 0;j<=len-1-i;j++)
                {
                    swap(matrix[i][j] , matrix[len-1-j][len-1-i]); //沿着负对角线翻转
                }
            }
        }
    };

    思路2 

    先进行行列转换,对转换后的矩阵沿着中心线进行左右翻转\
    后面一一步可使用reverse函数解决

    代码

    class Solution {
    public:
        void rotate(vector<vector<int>>& matrix) {
        int len = matrix.size();
        for(int i = 0;i<len;i++)
        {
            for(int j = 0;j<i;j++)
            {
                swap(matrix[i][j],matrix[j][i]); //
            }
        }
        for (auto & num:matrix)
        {
            reverse(num.begin(),num.end()); //对每一行进行交换
        }
        }
    };
    以大多数人努力程度之低,根本轮不到去拼天赋~
  • 相关阅读:
    ssm框架配置文件
    接口调用post请求参数在body中
    mysql三种连接方式
    jwt认证登录
    JWT工具类
    token的创建及解析
    IIS目录
    C# 增加多个分部类
    计算机知识
    Kibana 的安装(Windows版本)
  • 原文地址:https://www.cnblogs.com/gcter/p/15338613.html
Copyright © 2011-2022 走看看