每日一题——leecode59( 螺旋矩阵 II)
难度:中等 (看清楚不是简单,别再说老子水文啊~)
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
示例 1:
输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]
示例 2:
输入:n = 1
输出:[[1]]
思路:
一道模拟题,难度中等,面试出现频率极高。
模拟题就是本身不涉及算法,就是单纯根据题目所描述的模拟整个过程从而得到最后的结果。
这类题天然的考察你的码力,即对编程语言的掌握能力,一不小心就会各种 bug。
做这类模拟题的要点就是多在纸上画一下,别空想把自己想晕了,代码写干净些,方面后面 debug...
这道题是按“顺时针”顺序对矩阵进行填充,方向无非就是“上下左右”,顺时针的话,填充就是按照“上->右->下->左”,写具体点就是:
上:从左到右填充。
右:从上到下填充。
下:从右到左填充。
左:从下到上填充。
同时找好每次填充的边界,比如最开始的时候最左侧边界 left = 0,最右侧边界 right = n-1,最上侧边界 up = 0,最下侧边界 down = n-1。
构造这里我讲解一下:(因为我刚开始也没理解)
这里给大家一个建议,没看明白解析,就去分开跑一下,不就清晰了还有要不耻下问哦!
代码实现:
round()方法返回浮点数 x 的四舍五入值。
复制代码
版权声明: 本文为 InfoQ 作者【武师叔】的原创文章。
原文链接:【http://xie.infoq.cn/article/86f4e49dff69a37ed7e121e52】。文章转载请联系作者。
评论