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

网络公司做的网站被告图片侵权网站建设重要新

网络公司做的网站被告图片侵权,网站建设重要新,小说排行榜,搜狗站长工具综合查询994. 腐烂的橘子 BFS #xff08;广度优先搜索#xff09;可以看成是层序遍历。从某个结点出发#xff0c;BFS 首先遍历到距离为 1 的结点#xff0c;然后是距离为 2、3、4…… 的结点。因此#xff0c;BFS 可以用来求最短路径问题。BFS 先搜索到的结点#xff0c;一定是…994. 腐烂的橘子 BFS 广度优先搜索可以看成是层序遍历。从某个结点出发BFS 首先遍历到距离为 1 的结点然后是距离为 2、3、4…… 的结点。因此BFS 可以用来求最短路径问题。BFS 先搜索到的结点一定是距离最近的结点。 题目要求返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。实际上就是求腐烂橘子到所有新鲜橘子的最短路径。那么这道题就可以使用 BFS。 class Solution {public int orangesRotting(int[][] grid) {int n grid.length;int m grid[0].length;Queueint[] queue new LinkedList();// 统计新鲜橘子的数量int count 0;for(int i0; in; i){for(int j0; jm; j){if(grid[i][j]1){count;}else if(grid[i][j]2){// 多源头以所有腐烂的橘子为初始起点并将它们加入队列queue.add(new int[]{i,j});}}}// 统计层数也就是最短路径即本题的最短分钟数int round0;while(count0 !queue.isEmpty()){round;// 多源头需要关注这些点的扩散状态 int k queue.size();for(int i0; ik; i){int[] orange queue.poll();int r orange[0];int c orange[1];// 保证取值在[0,m), [0,n)中if(r-10 grid[r-1][c]1){// 不要忽略将其置为腐烂橘子避免重复计算grid[r-1][c]2;count--;queue.add(new int[]{r-1,c});}if(r1n grid[r1][c]1){grid[r1][c]2;count--;queue.add(new int[]{r1,c});}if(c-10 grid[r][c-1]1){grid[r][c-1]2;count--;queue.add(new int[]{r,c-1});}if(c1m grid[r][c1]1){grid[r][c1]2;count--;queue.add(new int[]{r,c1});}}}if(count0){return -1;}else{return round;}} } 207. 课程表 考查 拓扑排序 1.找到入度为0的点入队 2.从图中删掉入度为0的点直至全部被删掉。 3.依次删掉的顺序即为拓扑排序的结果。 若课程 a 存在前置课程 b 的话我们添加一条从 b 到 a 的有向边同时统计所有点的入度。 当处理完所有的 g[i] 后将所有的入度为 0 的课程含义为没有前置课程要求的科目进行入队操作跑一遍「拓扑排序」若所有课程都能顺利出队说明所有课程都能使完成。 class Solution {public boolean canFinish(int numCourses, int[][] prerequisites) {ListListInteger adjacency new ArrayList();for(int i0; inumCourses; i){adjacency.add(new ArrayList());}int[] flags new int[numCourses];for(int[] cp : prerequisites){adjacency.get(cp[1]).add(cp[0]);}for(int i0; inumCourses; i){if(!dfs(adjacency,flags,i)) return false;}return true;}public boolean dfs(ListListInteger adjacency, int[] flags, int i){// 说明在本轮 DFS 搜索中节点 i 被第 2 次访问即 课程安排图有环 直接返回 Falseif(flags[i]1) return false;// 说明当前访问节点已被其他节点启动的 DFS 访问无需再重复搜索直接返回 True。if(flags[i]-1) return true;// 标记其被本轮 DFS 访问过flags[i]1;// 递归访问当前节点 i 的所有邻接节点 j当发现环直接返回 Falsefor(Integer j : adjacency.get(i)){if(!dfs(adjacency,flags, j)) return false;}// 当前节点所有邻接节点已被遍历并没有发现环则将当前节点 flag 置为 −1并返回 Trueflags[i]-1;return true;} } 208. 实现 Trie (前缀树) 假定每个节点都有26个孩子节点因为都是小写字母将字符串中的字符插入到对应的位置。 还有一个点要明确节点的值仅仅表示从根节点到本节点的路径构成的字符串是否有效而已。 分两步 首先看表示字符串的路径是否存在其次看该路径的终点处的节点是否有效 class Trie {// 前缀树的数据结构class TreeNode{boolean val;TreeNode[] children new TreeNode[26];}private TreeNode root;public Trie() {root new TreeNode();}public void insert(String word) {TreeNode p root;for(char c : word.toCharArray()){int i c - a;// 初始化孩子节点if(p.children[i]null) p.children[i]new TreeNode();// 将p节点下移pp.children[i];}// 将字符串最后一个字符置为有效p.val true;}public boolean search(String word) {TreeNode p root;for(char c : word.toCharArray()){int i c - a;if(p.children[i]null) return false;pp.children[i];}// 路径存在直接返回该路径的终点处的节点的有效性return p.val;}public boolean startsWith(String prefix) {TreeNode p root;for(char c : prefix.toCharArray()){int i c - a;if(p.children[i]null) return false;pp.children[i];}return true;} }/*** Your Trie object will be instantiated and called as such:* Trie obj new Trie();* obj.insert(word);* boolean param_2 obj.search(word);* boolean param_3 obj.startsWith(prefix);*/
http://www.pierceye.com/news/41281/

相关文章:

  • ftp网站服务器百度西安分公司地址
  • 湖州房产网站建设wordpress程序安装包
  • 做海报的素材哪个网站wordpress主机模板
  • 新闻类网站开发dedecms建设慕课网站
  • 太原百度网站排名优化域名服务器如何申请
  • 做外贸方面的网站hao123网址之家官网
  • 外贸网站个性设计想学网络运营怎么开始
  • 做网站的服务器带宽一般多少怎么对一个网站做优化
  • 在家建设一个网站需要什么品牌策划费用预算
  • 宜兴做网站的公司制作视频剪辑
  • 北京建网站的公司哪个比较好广告推广软件
  • php下载站源码网站导航设计技巧
  • 餐饮 网站模板seo网站关键词优化工具
  • 社团网站开发模板中国建筑今天最新消息
  • 空壳网站查询优化大师手机版
  • 深圳网站设计go专门做毕业设计的网站
  • 做竞猜网站犯法吗农资销售网站建设方案
  • 中山网站建设文化平台广告设计公司设计收费标准
  • 成都网站建设价格wordpress 手机 登陆不了
  • 迎中国建设银行网站一键做网站
  • 石家庄城乡建设局网站6网站备案 厦门
  • 建筑学院网站网页界面设计历史
  • 国内哪家网站建设公司好快三直播app下载平台
  • 网站备案号不存在广州工程公司有哪些
  • 免费网站开发软件平台电商 网站 设计
  • 深圳维特网站建设开发公司资质等级
  • 深一网站建设wordpress下载面板插件
  • 外贸平台做摩托车配件什么网站好dw做网站链接数据库
  • 怎样做3d动画短视频网站建设银行网站未响应
  • 网站更换ip地址网站备案变更 能让首页关闭 二级域名继续