zoukankan      html  css  js  c++  java
  • 59. 螺旋矩阵 II(c++)

    给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
    示例:输入: 3
    输出:
    [
     [ 1, 2, 3 ],
     [ 8, 9, 4 ],
     [ 7, 6, 5 ]
    ]
     
        vector<vector<int>> generateMatrix(int n) {
            vector<vector<int>> res(n,vector<int>(n));
            int num = 1,c =0;
            while(num <= n*n){
                for(int i =c;i<n-c;i++)
                    res[c][i] = num++;
                for(int i=c+1;i<n-c;i++)
                    res[i][n-c-1] = num++;
                for(int i= n-c-2;i >= c;i--)
                    res[n-c-1][i] = num++;
                for(int i=n-c-2;i>c;i--)
                    res[i][c] = num++;
                c++;
            }
            return res;
        }
     
     
  • 相关阅读:
    最长有效括号
    C++ 环形缓存区的实现
    vector的原理与底层实现
    聚合分析与分组
    求两个数的最大公约数
    单例模式
    工厂方法模式
    责任链模式
    适配器模式
    策略模式
  • 原文地址:https://www.cnblogs.com/one-think/p/12626741.html
Copyright © 2011-2022 走看看