zoukankan      html  css  js  c++  java
  • 螺旋矩阵2

    给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。

    示例:

    输入: 3
    输出:
    [
    [ 1, 2, 3 ],
    [ 8, 9, 4 ],
    [ 7, 6, 5 ]
    ]

    和之前的螺旋矩阵有点像:

    class Solution {
    public:
        vector<vector<int>> generateMatrix(int n) {
            vector<vector<int>> matrix;
            matrix.resize(n);
            for(int i = 0; i < n; i++){
                matrix[i].resize(n);
            }
            
            int index = 1; 
            int i1 = 0;
            int i2 = n-1;
            int j1 = 0;
            int j2 = n-1;
            while(true) {
                for(int j = j1; j <=j2; j++){
                    matrix[i1][j] = index++;
                }
                if(index > n*n) break;
                i1++;
                
                for(int i = i1; i <= i2; i++){
                    matrix[i][j2] = index++;
                }
                if(index > n*n) break;
                j2--;
                
                for(int j = j2; j >= j1; j--){
                    matrix[i2][j] = index++;
                }
                if(index > n*n) break;
                i2--;
                
                for(int i = i2; i >= i1; i--){
                    matrix[i][j1] = index++;
                }
                if(index > n*n) break;
                j1++;
                            
            }
            
            
            for(int i = 0; i < n; i++){
                for(int j = 0; j  < n; j++){
                    cout << matrix[i][j] << ",";
                }
                cout << endl;
            }
            return matrix;
            
        }
        
    };
    The Safest Way to Get what you Want is to Try and Deserve What you Want.
  • 相关阅读:
    洛谷P1357 Solution
    洛谷P3469 Solution
    洛谷P2617 Solution
    CF818F Solution
    CF802K Solution
    CF519E Solution
    在代码中改变log的级别
    Java非对称加密解密
    mvn test 远程调试
    rsyn实现服务器源码同步
  • 原文地址:https://www.cnblogs.com/Shinered/p/11381822.html
Copyright © 2011-2022 走看看