59. Spiral Matrix II
2016-08-06 16:50
323 查看
思路:找规律
第一次向右走n步,第二次向下走n-1, 第3次向左走n-1,第4次向上走n-2,第5次向右走n-2……
注意二维数据index i,j和坐标轴x,y不要弄混了
第一次向右走n步,第二次向下走n-1, 第3次向左走n-1,第4次向上走n-2,第5次向右走n-2……
注意二维数据index i,j和坐标轴x,y不要弄混了
public class Solution { public int[][] generateMatrix(int n) { int num[][] = new int ; if (n == 0) return num; int i = 0,j = -1; //模拟当前spiral order指针所在的位置, 第一次向右走后变成[0,0] int number = 0; int direction_i[] = {0, 0, -1, 1}; //左右上下 int direction_j[] = {-1, 1, 0, 0}; int direc = -1, count = 0, step = n; boolean repeated = true; //后面每个step都要走两次, 第一次设为true是因为n步只要走1次 while(step > 0){ //先找方向 if (repeated == false){ if ( (n - step) % 2 == 1){ direc = 3; }else{ direc = 2; } }else{ if ((n - step) % 2 == 1){ direc = 0; }else{ direc = 1; } } //走step步 count = step; while(count > 0){ i += direction_i[direc]; j += direction_j[direc]; num[i][j] = ++number; count --; } if (repeated == true){ step --; repeated = false; }else{ repeated = true; } } return num; } }
相关文章推荐
- LeetCode 59 Spiral Matrix II(螺旋矩阵II)(Array)
- LeetCode 59 Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 54. Spiral Matrix && 59. Spiral Matrix II
- LeetCode------54. Spiral Matrix(螺旋二维矩阵)-----59. Spiral Matrix II(n的螺旋矩阵)
- LeetCode 59. Spiral Matrix II
- Leetcode 59. Spiral Matrix II
- leetcode 59. Spiral Matrix II
- LeetCode 54/59. Spiral Matrix i, ii
- leetcode 59. Spiral Matrix II
- 【LeetCode】C# 59、Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- 【leetcode】59. Spiral Matrix II
- 59. Spiral Matrix II
- 59. Spiral Matrix II
- leetcode——59——Spiral Matrix II
- 59. Spiral Matrix II
- LeetCode 59 --- Spiral Matrix II