本文共 941 字,大约阅读时间需要 3 分钟。
给定一个整数n,将数字1到n^2n
2 按螺旋的顺序填入n×n的矩阵 例如: 给出的n=3, 你应该返回如下矩阵: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]
class Solution { public: /** * * @param n int整型 * @return int整型vector<>> */ vector > generateMatrix(int n) { // write code here vector > matrix(n, vector (n)); int left = 0; int right = n-1; int up = 0; int down = n-1; int index = 1; while(left <= right && up <= down){ for(int i = left; i <= right && up <= down; i++){ matrix[up][i] = index; index++; } for(int i = up+1; i <= down && left<= right; i++){ matrix[i][right] = index++; } for(int i = right-1; i >= left && up <= down; i--){ matrix[down][i] = index++; } for(int i = down-1; i >= up+1 && left <= right; i--){ matrix[i][left] = index++; } left++; right--; up++; down--; } return matrix; }};
转载地址:http://eydg.baihongyu.com/