zoukankan      html  css  js  c++  java
  • [LeetCode] Spiral Matrix II

    题目描述:

    Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.

    For example,

    Given n = 3,

    You should return the following matrix:

    [
     [ 1, 2, 3 ],
     [ 8, 9, 4 ],
     [ 7, 6, 5 ]
    ]

    解题思路:

     1 class Solution {
     2 public:
     3     vector<vector<int>> generateMatrix(int n) {
     4         vector<vector<int>> matrix(n ,vector<int>(n, 0));
     5         if (n == 0) {
     6             return matrix;
     7         }
     8         int left = 0;
     9         int right = n - 1;
    10         int up = 0;
    11         int down = n - 1;
    12         
    13         int count = n * n;
    14         int ii = 0;
    15         
    16         while (true) {
    17 
    18             for (int i = left; i <= right; ++i) {
    19                 matrix[up][i] = ++ii;
    20             }
    21             if (ii >= count) {
    22                 break;
    23             }
    24             
    25             up += 1;
    26             for (int i = up; i <= down; ++i) {
    27                 matrix[i][right] = ++ii;
    28             }
    29             if (ii >= count) {
    30                 break;
    31             }
    32             
    33             right -= 1;
    34             for (int i = right; i >= left; --i) {
    35                 matrix[down][i] = ++ii;
    36             }
    37             if (ii >= count) {
    38                 break;
    39             }
    40         
    41             down -= 1;
    42             for (int i = down; i >= up; --i) {
    43                 matrix[i][left] = ++ii;
    44             }
    45             left += 1;
    46             
    47             if (ii >= count) {
    48                 break;
    49             }
    50         }
    51         
    52         return matrix;
    53     }
    54 };
  • 相关阅读:
    ==与is区别
    词典操作
    前端工具---取色截图测量
    css零碎合集
    基于bootstrap的在线布局工具
    js常用功能工具库--Underscore.js
    前端资源荟萃
    在线绘图工具---processon
    表单form浅谈
    前端工具----iconfont
  • 原文地址:https://www.cnblogs.com/skycore/p/5277497.html
Copyright © 2011-2022 走看看