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

郴州住房和城乡建设委员会网站自动友链网

郴州住房和城乡建设委员会网站,自动友链网,海南疫情最新数据,郴州前达网络科技1376. 通知所有员工所需的时间 目录 一、bfs 二、dfs 题目: 公司里有 n 名员工,每个员工的 ID 都是独一无二的,编号从 0 到 n - 1。公司的总负责人通过 headID 进行标识。在 manager 数组中,每个员工都有一个直属负责人&#x…

1376. 通知所有员工所需的时间

目录

一、bfs 

 二、dfs


题目:

  • 公司里有 n 名员工,每个员工的 ID 都是独一无二的,编号从 0 到 n - 1。
  • 公司的总负责人通过 headID 进行标识。
  • 在 manager 数组中,每个员工都有一个直属负责人,其中 manager[i] 是第 i 名员工的直属负责人。
  • 对于总负责人,manager[headID] = -1。题目保证从属关系可以用树结构显示。
  • 公司总负责人想要向公司所有员工通告一条紧急消息。他将会首先通知他的直属下属们,然后由这些下属通知他们的下属,直到所有的员工都得知这条紧急消息。
  • 第 i 名员工需要 informTime[i] 分钟来通知它的所有直属下属(也就是说在 informTime[i] 分钟后,他的所有直属下属都可以开始传播这一消息)。
  • 返回通知所有员工这一紧急消息所需要的 分钟数

一、bfs 

思路:

刚开始读错题了,以为是所有人都通知到的总时间

但这题其实是,返回通知到最深一层的时间,即求最深树权值之和

我们可以用bfs遍历整棵树,队列存二元组【节点值,当前路累计权值】

如果发现没有子节点,则更新最大值

否则遍历子节点,累加权值入队

class Solution {static int N=100010;int[] h=new int[N],e=new int[N],ne=new int[N];int idx;public void add(int a,int b){e[idx]=b;ne[idx]=h[a];h[a]=idx++;}public int numOfMinutes(int n, int headID, int[] manager, int[] informTime) {int res=informTime[headID];Arrays.fill(h,-1);for(int i=0;i<n;i++) {if(manager[i]==-1) continue;add(manager[i],i);}Queue<int[]> q=new LinkedList<>();q.offer(new int[]{headID,informTime[headID]});while(!q.isEmpty()){var t=q.poll();int id=t[0],val=t[1];if(h[id]==-1) {res=Math.max(res,val);continue;}for(int i=h[id];i!=-1;i=ne[i]){int j=e[i];q.offer(new int[]{j,val+informTime[j]});}}return res;}
}

 二、dfs

思路:

用dfs从根节点开始深入

计算每一个节点向下传递信息的最大值

class Solution {static int N=100010;int[] h=new int[N],e=new int[N],ne=new int[N];int idx;public void add(int a,int b){e[idx]=b;ne[idx]=h[a];h[a]=idx++;}public int dfs(int u,int[] informTime){int res=0;for(int i=h[u];i!=-1;i=ne[i]){int j=e[i];res=Math.max(res,dfs(j,informTime));}return informTime[u]+res;}public int numOfMinutes(int n, int headID, int[] manager, int[] informTime) {int res=informTime[headID];Arrays.fill(h,-1);for(int i=0;i<n;i++) {if(manager[i]==-1) continue;add(manager[i],i);}return dfs(headID,informTime);}
}

http://www.ds6.com.cn/news/108299.html

相关文章:

  • 做机械方面外贸最大的网站小说推广关键词怎么弄
  • 无锡网站优化推广高端大气网站建设
  • 域名申请网站南京谷歌seo
  • 北京好一点的微网站开发公司西安seo工作室
  • 网站服务器自己做香蕉和忘忧草对焦虑的影响
  • wordpress版本怎么升级杭州排名优化软件
  • 外销网站怎么做的重庆seo点击工具
  • 一个提高网站流量的常用方法网站买卖交易平台
  • 什么网站可以做设计进行网络推广
  • 用asp做网站课程什么是seo优化
  • 网站建设需要怎么做百度推广官网电话
  • 南京网站推广排名前十公司网站建设全包
  • p2p网站开发 源代码做推广哪个平台好
  • 深圳网站搭建谷歌排名优化入门教程
  • 重庆网站建设推广香港域名注册网站
  • 投教网站建设免费网站统计工具
  • 做网站建设的技巧福州seo网站排名
  • 做设计在哪个网站接单简单的网页设计源代码
  • 网站建设空白栏目整改报告手游推广渠道平台
  • 佛山疫情最新消息风险等级百度网站优化方案
  • 推广b2c网站宁德市人口
  • 滇中引水工程建设管理局网站网站浏览器
  • 电子商务网站开发附件seo教程免费
  • 做网站怎样找国内优秀网页设计赏析
  • 建网站要注册吗网络怎么推广自己的产品
  • 网站里面怎么做数字滚动济南计算机培训机构哪个最好
  • 石狮网站建设费用google ads
  • 微信公众号怎么建网站推广文案范例
  • 淘宝客做网站可行么北京seo外包公司要靠谱的
  • 网站布局介绍精准营销推广方案