class Solution { public: /** * * @param n int整型 * @return int整型vector<vector<>> */ vector<vector<int> > generateMatrix(int n) { // write code here vector<vector<int>>dp(n, vector<int>(n,1)); int top = 0; int bottom = n-1; int left = 0; int right = n-1; long long nums = 1; long long n_squre = n*n; while(nums <= n_squre){ for(int i = left; i <= right && top <= bottom; ++i){ dp[top][i] = nums++; } top++; for(int i = top; i <= bottom && left <= right; ++i){ dp[i][right] = nums++; } right--; for(int i = right; i >= left && top <= bottom; --i){ dp[bottom][i] = nums++; } bottom--; for(int i = bottom; i >= top && left <= right; --i){ dp[i][left] = nums++; } left++; } return dp; } };