Spiral Matrix II (LeetCode)
Question:
https://oj.leetcode.com/problems/spiral-matrix-ii/
解答:
跟spiral matrix类似,只不过一个是读,一个是写。
class Solution { public: vector<vector<int> > generateMatrix(int n) { int index_start = 0; int index_end = n-1; int number = 1; vector<vector<int>> matrix(n, vector<int>(n, 0)); while (index_start <= index_end) { number = generate(matrix, index_start, index_end, index_start, index_end, number); index_start++; index_end--; } return matrix; } int generate(vector<vector<int>>& matrix, int row_start, int row_end, int col_start, int col_end, int number) { for (int i = col_start; i <= col_end; i++) matrix[row_start][i] = number++; for (int i = row_start+1; i <= row_end-1; i++) matrix[i][col_end] = number++; if (row_start != row_end) { for (int i = col_end; i >= col_start; i--) matrix[row_end][i] = number++; } if (col_start != col_end) { for (int i = row_end-1; i >= row_start+1; i--) matrix[i][col_start] = number++; } return number; } };
浙公网安备 33010602011771号