Week 5算法分析作业

来源:互联网 发布:大观园网络电视 编辑:程序博客网 时间:2024/06/15 06:35

Week 5算法分析作业

LeetCode题目 59. Spiral Matrix II

Given an integer n, generate a square matrix filled with elements from 1 to n^2 in spiral order.
给定一个整数n,生成一个方阵,其元素从1到n^2,螺旋放置
例如 n = 3,
对应的矩阵为:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]

我的解法

使用vector存放需要的数据,直接暴力输出,复杂度为O(N^3)

class Solution {    public:        vector<vector<int> > generateMatrix(int n) {            vector<vector<int> > ret( n, vector<int>(n) );            int k = 1, i = 0;            while( k <= n * n )            {                int j = i;                    // four steps                while( j < n - i )                                ret[i][j++] = k++;                j = i + 1;                while( j < n - i )                                 ret[j++][n-i-1] = k++;                j = n - i - 2;                while( j > i )                                     ret[n-i-1][j--] = k++;                j = n - i - 1;                while( j > i )                                      ret[j--][i] = k++;                i++;                 }            return ret;        }    };

感想:

emmm感觉这道题直接重点在怎么方便的存取数据

原创粉丝点击