zoukankan      html  css  js  c++  java
  • leetcode48 旋转图像

    这道题只需要搞明白矩阵位置跳转逻辑即可,首选是反着赋值,只花费额外变量存储第一个值即可,然后弄清跳转过程。

    class Solution {
    public:
        void rotate(vector<vector<int>>& matrix) {
            if(matrix.empty()&&matrix[0].empty())
            {
                return;
            }
            int n=matrix.size();
            int i;
            for(i=0;i<n/2;i++)
            {
                rot(matrix,i,i,n-1-i,n-1-i);
            }
            
        }
        void rot(vector<vector<int>>& matrix,int a,int b,int c,int d)
        {
            int i;
            for(i=0;i<d-b;i++)
            {
                int temp=matrix[a][b+i];
                matrix[a][b+i]=matrix[c-i][b];
                matrix[c-i][b]=matrix[c][d-i];
                matrix[c][d-i]=matrix[a+i][d];
                matrix[a+i][d]=temp;
            }
        }
    };
  • 相关阅读:
    2020软件工程最后一次作业
    常用的10种算法

    赫夫曼编码
    哈希表(散列)
    查找算法
    排序算法
    递归

    软件工程最后一次作业
  • 原文地址:https://www.cnblogs.com/legendcong/p/12491380.html
Copyright © 2011-2022 走看看