当前位置: 首页 > news >正文

加强网站建设的意见网站gif素材

加强网站建设的意见,网站gif素材,网站栅格,做素食香料哪个网站买题目: 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 来源:力扣(LeetCode) 链接:力扣(LeetCode)官网 - 全…

题目:

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。

来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 1:

 

输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]


示例 2:

输入:n = 1
输出:[[1]]

解法:

创建全0二维列表,根据顺时针螺旋顺序修改值。

首先,初始化row为n - 1,表示当前可以遍历到的最大行,初始化col为n - 1,表示当前可以遍历到的最大列,初始化rh为1,表示当前可以遍历到的行最小值为1,初始化ch为0,表示当前可以遍历到的列的最小值为0,初始化r、c为0,表示当前位置,初始化flag为1,表示当前状态。

一共有4种状态,第1种是从左到右遍历,第2种是从上到下遍历,第3种是从右到左遍历,第4种是从下到上遍历。遍历的总次数是n,4种状态循环切换,直到遍历完,以下以第1种状态为例,第2、3、4种状态同理。

进入第1种状态,首先将修改列表r、c为当前值,然后判断是否走到最大行,注意,最大行指的是没有遍历的元素的最右边,通过col判断,如果没到最大行,则c自增1,如果到了,需要切换状态,并且将col自减1,表示缩小下次可遍历到的最大行,即去除已遍历元素,将r自增1,修改状态切换后的首位置。

知识点:

1.初始化二维列表:比如创建并初始化全0二维列表:result = [[0] * n for _ in range(n)],不要使用result = [[0] * n] * n,因为这样在修改值的时候,会把每列都修改。原因是因为Python的机制,*n并没有开辟新空间,都指向同一块内存,但加上[]会将括号内部看作一个整体,列表类型,开辟独立的空间。

代码:

class Solution:def generateMatrix(self, n: int) -> List[List[int]]:result = [[0] * n for _ in range(n)]row = col = n - 1rh = 1ch = 0flag = 1r = c = 0for num in range(n ** 2):if flag == 1:result[r][c] = num + 1if c == col:col -= 1r += 1flag = 2else:c += 1elif flag == 2:result[r][c] = num + 1if r == row:row -= 1c -= 1flag = 3else:r += 1elif flag == 3:result[r][c] = num + 1if c == ch:ch += 1r -= 1flag = 4else:c -= 1else:result[r][c] = num + 1if r == rh:rh += 1c += 1flag = 1else:r -= 1return result

http://www.yayakq.cn/news/973946/

相关文章:

  • 保定百度网站建设电子商务网站建设情况
  • 做视频网站公司要怎么做的ui培训班价格
  • 建设银行网站打不开别的网站可以用吗北京网站建设seo公司哪家好
  • 数据库网站开发价格网站制作需要多少钱?
  • 中华商标交易网官方网站网站开发属于软件开发类吗
  • 网站开发需求用什么软件怎么做安居客网站
  • flash使用教程梧州seo快速排名
  • wordpress建站需要多久免费代运营
  • 教学成果展示网站 课程体系建设百度推广网页版
  • 满城住房和城乡建设局网站网站怎么定位
  • 兼职做商务标哪个网站广东基层团组织建设部网站
  • 珠海网站建设 骏域网站小说网站怎么做空间小
  • 昆明做烤瓷牙哪去柏德L网站自己做网站需要缴费么
  • 徐州网站平台网站做系统叫什么软件
  • 湛江网站建设咨询网站开发工作内容
  • 网站后台数据应该怎么做沈阳网络seo公司
  • 企业园林设计网站模板怀化刚刚发生的大事
  • 迅驰互联网站建设网络推广怎么样广告平面设计欣赏
  • 想攻击一个网站怎么做简述网站建设基本流程答案
  • 百度搜到自己网站建筑公司一般在哪里招人
  • 17做网店类似网站网站链接加标签
  • 课程网站建设的目的意义3d动画制作软件手机版
  • 站内站怎么搭建企业为什么要做网站 作用是什么
  • 外贸网站都有哪些用jsp做网站主界面
  • 网站设计基础做家常菜哪个网站最好
  • 网站开发属于什么系统wordpress建数据库
  • 微信营销软件群发东莞seo整站优化代理
  • 做网站的说3年3年包括什么软件wordpress 付费文章
  • 网站建设流程和费用已有网站如何做直播
  • 线上企业订单管理系统网站好的网页制作公司有哪些