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

本溪网站建设兼职网站域名空间怎么弄啊

本溪网站建设兼职,网站域名空间怎么弄啊,南昌地宝网首页,晋江论坛晋江文学城网友留言区54. 螺旋矩阵 使用vis数组记录该位置是否已经被访问 定义一个int型dir来记录方向&#xff0c;0123分别代表右下左上 当越界或碰壁已访问的位置后&#xff0c;修改dir并计算下一个位置 否则根据原dir计算下一个位置 class Solution {public List<Integer> spiralOrder(i…

54. 螺旋矩阵

使用vis数组记录该位置是否已经被访问
定义一个int型dir来记录方向,0123分别代表右下左上
当越界或碰壁已访问的位置后,修改dir并计算下一个位置
否则根据原dir计算下一个位置

class Solution {public List<Integer> spiralOrder(int[][] matrix) {List<Integer> list = new ArrayList<>();int n = matrix.length;int m = matrix[0].length;int dir = 0; // 0右  1下  2左  3上boolean vis[][] = new boolean[n][m];int x = 0;int y = 0;for(int i = 0; i < n*m; i ++){list.add(matrix[x][y]);vis[x][y] = true;if(dir == 0){if(y + 1 >= m || vis[x][y+1] == true){dir = (dir + 1) % 4;x = x + 1;}else{y = y + 1;}}else if(dir == 1){if(x + 1 >= n || vis[x+1][y] == true){dir = (dir + 1) % 4;y = y - 1;}else{x = x + 1;}}else if(dir == 2){if(y - 1 < 0 || vis[x][y-1] == true){dir = (dir + 1) % 4;x = x - 1;}else{y = y - 1;}}else{if(x - 1 < 0 || vis[x-1][y] == true){dir = (dir + 1) % 4;y = y + 1;}else{x = x - 1;}}}return list;}
}

简化

常用思路,使用二维数组dirs[4][2]进行坐标的上下左右四个方位移动,简化代码
(也常用dirs[8][2]获取坐标的周围8个位置)
使用dirs和dir计算下一个将要使用的新坐标,若越界或碰壁,则将dir修改,获得正确的新坐标

class Solution {public List<Integer> spiralOrder(int[][] matrix) {List<Integer> list = new ArrayList<>();int n = matrix.length;int m = matrix[0].length;int dir = 0; // 0右  1下  2左  3上int dirs[][] = {{0,1},{1,0},{0,-1},{-1,0}}; // 对应dir四种移动坐标变化boolean vis[][] = new boolean[n][m];int x = 0;int y = 0;for(int i = 0; i < n*m; i ++){list.add(matrix[x][y]);vis[x][y] = true;// 判断int newX = x + dirs[dir][0];int newY = y + dirs[dir][1];if(newX < 0 || newX >= n || newY < 0 || newY >= m || vis[newX][newY] == true){dir = (dir + 1) % 4;}// 移动x += dirs[dir][0];y += dirs[dir][1];}return list;}
}
http://www.yayakq.cn/news/200987/

相关文章:

  • 网站网站开发软件公众号制作教程
  • 晋江市建设招投标网站网站建设有几种方式
  • 怎样做投资理财网站有什么兼职做设计的网站好
  • 个人电子商务网站 制作重庆网站建设重庆网站制作
  • 郑州网站优化排名公司网页设计多少钱
  • 如何做中英版网站郑州网站建设求职简历
  • 甘肃建设体网站wordpress购物插件下载
  • 石家庄网站建设联系方式杨凌网站建设推广
  • 同城购物网站怎么做网站建设关于
  • 做视频网站用什么源码青岛建设局网站首页
  • 天津做网站的公司自带代理的浏览器
  • 网站商城怎么做的网站建设合作报道
  • 电子商务网站建设软件开发课设甜品店网站建设
  • 网站设计风格及色彩搭配技巧 -wap建站模板
  • 青岛网站设计多少钱怎么把电脑字体导入wordpress
  • 创业水务公司网站wordpress主题自定义模块
  • 阳泉网站建设wordpress 压力
  • 手机网站系统wordpress去掉分类目录前缀
  • 河南瑞达建设工程有限公司网站局域网网站开发软件
  • 公司制作网站怎么做营销型网站代理
  • 网站开发的实例教程网站开发的技术有
  • 网络营销推广计划书淄博seo费用
  • 毕业设计心理评测网站开发网站的专业
  • 当铺网站建设方案网站模板 婴儿
  • 主流门户网站有哪些定制做网站服务
  • dede 网站源码301 wordpress
  • 舟山大昌建设集团网站仿牌网站服务器
  • 网站开发排期表模板在线设计房屋效果图
  • 网站建设会出现的问题潍柴新建站登录网址
  • 有那些专门做职业统计的网站phpcms v9网站地图