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

烟台企业网站制作公司wordpress+刷新

烟台企业网站制作公司,wordpress+刷新,招标网官网登录,做网站是什么软件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/245488/

相关文章:

  • 从零开始学网站建设知乎一个网站需要多少钱
  • 广州自助建设网站平台郑州seo学校
  • 网站设置价格错误不愿意发货福建祥盛建设有限公司网站
  • 导购网站做基础销量诚信网站费用
  • 上海公司牌照五行seo博客
  • 地方门户网站盈利模式北京网页设计公司兴田德润挺好
  • 深圳中建南方建设集团网站做课件可赚钱的网站
  • 少儿教育网站建设价格嘉定企业网站建设
  • 徐州品牌网站建设宁波好的网站推广软件
  • 如何选择企业网站建设南京江北新区核心区范围
  • 做网站dw怎么用怎么建立网站站点
  • 个人网站如何建设wordpress评分杂志
  • 外贸soho怎么建网站小红书的网站建设
  • 新网站如何做百度收录黑龙江网架公司
  • 揭阳网站建设公司青岛团购网站建设
  • 西安网站代维护wordpress动态标题
  • 音频文件放到网站空间里生成链接怎么做云梦主城区核酸检测
  • 免费发布产品信息的网站wordpress多语种
  • 网站建设源程序网站关键词优化系统
  • 同源大厦 网站建设织梦网站查看原有文章
  • 杭州企业网站建设方案vs设置网站开发环境
  • 成都企业建站app直播源码
  • 站长工具平台建设网站需要想好的问题
  • 嘉禾专业网站建设wordpress登录后转到wp首页
  • 网站建设 验收意见温州网站的优化
  • 政法队伍建设网站主要内容怎么通过微博做网站外链
  • 商务网站要怎么做东莞常平二手房
  • 切图做网站过时了吗龙华做网站的公司
  • 网站设计规划教学设计游戏开发团队
  • 做免费试用的网站导航网站超链接如何做