zoukankan      html  css  js  c++  java
  • LeetCode

    题目:

    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 ]
    ]

    思路:

    这题比I更容易,因为是完全的正方形

    package array;
    
    public class SpiralMatrixII {
    
        public int[][] generateMatrix(int n) {
            int[][] matrix = new int[n][n];
            int num = 0;
            for (int i = 0; i < n; ++i) {
                for (int j = i; j < n -i; ++j) {
                    matrix[i][j] = ++num;
                }
                for (int j = i + 1; j < n -i; ++j) {
                    matrix[j][n - i - 1] = ++num;
                }
                for (int j = n - i - 2; j >= i; --j) {
                    matrix[n - i - 1][j] = ++num;
                }
                for (int j = n - i - 2; j >= i + 1; --j) {
                    matrix[j][i] = ++num;
                }
            }
            
            return matrix;
        }
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            SpiralMatrixII s = new SpiralMatrixII();
            int n = 1;
            int[][] matrix = s.generateMatrix(n);
            for (int i = 0; i < n; ++i) {            
                for (int j = 0; j < n; ++j) {
                    System.out.print(matrix[i][j] + "	");
                }
                System.out.println();
            }
        }
    
    }
  • 相关阅读:
    Tsql 获取服务器信息
    数据字典生成脚本 【转载】
    c# winform文本框数字,数值校验
    ReentrantLock和AbstractQueuedSynchronizer的分析
    多线程
    前缀和与差分数组
    链表
    堆(优先队列)
    排序算法
    二分查找(递归和非递归)
  • 原文地址:https://www.cnblogs.com/null00/p/5079867.html
Copyright © 2011-2022 走看看