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

广州网页设计html优化大师官网

广州网页设计html,优化大师官网,防做网站,山东省优质高职院校建设网站用二进制表示获得的钥匙,假设n钥匙个数 000000000代表没有钥匙,0000000001代表有idx为1的钥匙,0000000011代表有idx1,2的钥匙 (这方法巧妙又复杂.. 代码: class Solution {static int[][] dirs {{-1,0}…

用二进制表示获得的钥匙,假设n=钥匙个数

000000000代表没有钥匙,0000000001代表有idx为1的钥匙,0000000011代表有idx=1,2的钥匙

(这方法巧妙又复杂..

代码:

class Solution {static int[][] dirs = {{-1,0},{1,0},{0,-1},{0,1}};public int shortestPathAllKeys(String[] grid) {int m = grid.length, n = grid[0].length();int startx = 0,starty = 0;Map<Character, Integer> keyToIndex = new HashMap<>();//存钥匙的字母和对应的idx序号for(int i=0;i<grid.length;i++){for(int j=0;j<grid[i].length();j++){if(grid[i].charAt(j)=='@'){startx = i;starty = j;}else if(Character.isLowerCase(grid[i].charAt(j))){if(!keyToIndex.containsKey(grid[i].charAt(j))){int idx = keyToIndex.size();keyToIndex.put(grid[i].charAt(j), idx);}                    }}}Queue<int[]> queue = new ArrayDeque<int[]>();int[][][] dist = new int[m][n][1<<keyToIndex.size()];//第三维是2的size次方 列举钥匙的所有可能for(int i=0;i<m;i++){for(int j=0;j<n;j++){Arrays.fill(dist[i][j],-1);}} queue.offer(new int[]{startx,starty,0});dist[startx][starty][0] = 0;while(!queue.isEmpty()){int[] arr = queue.poll();int x = arr[0],y = arr[1],mask = arr[2];//mask是钥匙的排列for(int i=0;i<4;i++){int nx = x + dirs[i][0];int ny = y + dirs[i][1];if(nx>=0 && nx<m && ny>=0 && ny<n &&grid[nx].charAt(ny)!='#'){if(grid[nx].charAt(ny)=='.'||grid[nx].charAt(ny)=='@'){if(dist[nx][ny][mask] == -1){dist[nx][ny][mask] = dist[x][y][mask]+1;queue.offer(new int[]{nx,ny,mask});}}else if(Character.isLowerCase(grid[nx].charAt(ny))){int idx = keyToIndex.get(grid[nx].charAt(ny));if(dist[nx][ny][mask|(1<<idx)] == -1){dist[nx][ny][mask|(1<<idx)] = dist[x][y][mask]+1;if((mask|(1<<idx))==(1<<keyToIndex.size())-1){return dist[nx][ny][mask|(1<<idx)];}queue.offer(new int[]{nx,ny,mask|(1<<idx)});}}else{int idx = keyToIndex.get(Character.toLowerCase(grid[nx].charAt(ny)));if((mask&(1<<idx))!=0&&dist[nx][ny][mask]==-1){dist[nx][ny][mask] = dist[x][y][mask]+1;queue.offer(new int[]{nx,ny,mask});}}}}}  return -1;     }
}

http://www.hkea.cn/news/280425/

相关文章:

  • abc网站建设怎么样yandex引擎搜索入口
  • wordpress屏蔽f12广州seo网络优化公司
  • 南宁网站建设推广服务云服务器免费
  • 大数据营销是什么seo站长
  • 建设政府网站的公司乐山网站seo
  • 仿站容易还是建站容易专业做灰色关键词排名
  • 做网站背景音乐管理课程培训
  • 网站建设可以自学吗品牌软文范文
  • 网站风格对比哪里有学计算机培训班
  • 做mla的网站网站优化哪家好
  • 网站注册的账号怎么注销线上营销活动有哪些
  • 国内做进口的电商网站网站推广软件哪个好
  • 谁有做那事的网站百度投诉中心入口
  • 免费单页网站在线制作沈阳seo排名优化教程
  • 廊坊网站建大型网站建站公司
  • 远程桌面做网站sem和seo区别与联系
  • 做贷款网站优化大师有用吗
  • 有没有便宜的网站制作制作网页教程
  • 医院网站制作优化关键词的方法有哪些
  • wordpress安装到网站吗泰安seo
  • 长春网站开发培训价格google play三件套
  • 做生存分析的网站有哪些国外新闻最新消息
  • 济南网站优化收费百度互联网营销
  • bootstrap响应网站模板下载发帖推广百度首页
  • 动态网站上的查询怎么做新媒体运营培训学校
  • 网站开发人员必备技能百度优化推广
  • 花都 网站建设百度推广怎么添加关键词
  • 开发公司成本部职责岗位职责和流程苏州网站建设优化
  • 湛江网站制作系统seo排名需要多少钱
  • 城乡现代社区建设seo关键词推广案例