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

高端网站建设推广wordpress显示文章内容

高端网站建设推广,wordpress显示文章内容,镇江网站优化公司工作室,建设工程考试网题目链接 Leetcode.2359 找到离给定两个节点最近的节点 Rating #xff1a; 1715 题目描述 给你一个 n个节点的 有向图 #xff0c;节点编号为 0到 n - 1#xff0c;每个节点 至多 有一条出边。 有向图用大小为 n下标从 0开始的数组 edges表示#xff0c;表示节点 i有一条…题目链接 Leetcode.2359 找到离给定两个节点最近的节点 Rating 1715 题目描述 给你一个 n个节点的 有向图 节点编号为 0到 n - 1每个节点 至多 有一条出边。 有向图用大小为 n下标从 0开始的数组 edges表示表示节点 i有一条有向边指向 edges[i]。如果节点 i没有出边那么 edges[i] -1。 同时给你两个节点 node1和 node2。 请你返回一个从 node1和 node2都能到达节点的编号使节点 node1和节点 node2到这个节点的距离 较大值最小化。如果有多个答案请返回 最小 的节点编号。如果答案不存在返回 -1。 注意 edges可能包含环。 示例1 输入edges [2,2,3,-1], node1 0, node2 1 输出2 解释从节点 0 到节点 2 的距离为 1 从节点 1 到节点 2 的距离为 1 。 两个距离的较大值为 1 。我们无法得到一个比 1 更小的较大值所以我们返回节点 2 。 示例2 输入edges [1,2,-1], node1 0, node2 2 输出2 解释节点 0 到节点 2 的距离为 2 节点 2 到它自己的距离为 0 。 两个距离的较大值为 2 。我们无法得到一个比 2 更小的较大值所以我们返回节点 2 。 提示 nedges.lengthn edges.lengthnedges.length2n1052 n 10^52n105−1edges[i]n-1 edges[i] n−1edges[i]nedges[i]!iedges[i] ! iedges[i]!i0node1,node2n0 node1, node2 n0node1,node2n 解法一BFS 一个比较容易想到的解法是对于 node1和 node2分别通过 BFS 计算其 到各个点的距离矩阵 d1和 d2。 对于 d1和 d2我们从小到大遍历更新最小的 较大值。 时间复杂度O(n)O(n)O(n) 代码 class Solution { public: // 建图unordered_mapint,vectorint g;//bfs 求起点 root 到各个点的距离矩阵void bfs(int root,vectorint dist){queueint q;q.push(root);int step 0;while(!q.empty()){int sz q.size();for(int i 0;i sz;i){auto t q.front();q.pop();dist[t] step;for(auto v:g[t]){if(dist[v] ! -1) continue;q.push(v);}}step;}}int closestMeetingNode(vectorint edges, int node1, int node2) {int n edges.size();for(int i 0;i n;i){if(edges[i] -1) continue;int a i, b edges[i];g[a].push_back(b);}vectorint a(n,-1),b(n,-1);bfs(node1,a);bfs(node2,b);/*for(int i 0;i n;i){printf(i %d , d1 %d , d2 %d\n,i,a[i],b[i]);}*/int dist 1e9;int idx -1;for(int i 0;i n;i){if(a[i] -1 || b[i] -1) continue;int d max(a[i],b[i]);if(dist d){dist d;idx i;}}return idx;} };解法二遍历 题目给定地有向图实际上是一个 基环树因为每一个结点的 出边最多只有一条所以实际上我们不需要建图只需要直接循环遍历即可。 时间复杂度O(n)O(n)O(n) 代码 class Solution { public:int closestMeetingNode(vectorint edges, int node1, int node2) {int n edges.size();auto dfs [](int u) - vectorint{vectorint dist(n,1e9);int d 0;while(u ! -1 dist[u] 1e9){dist[u] d;d;u edges[u];}return dist;};auto d1 dfs(node1);auto d2 dfs(node2);int ans 1e9,idx -1;for(int i 0;i n;i){if(d1[i] 1e9 || d2[i] 1e9) continue;int d max(d1[i],d2[i]);if(ans d){ans d;idx i;}}return idx;} };
http://www.hkea.cn/news/14412250/

相关文章:

  • 服饰团购网站建设网站建设竣工验收报告
  • 东营+网站建设app开发公司排行榜做软件的公司
  • 网站企业管理培训课程dw做的网站如何发布
  • 易网网站代理分销系统开发
  • 深圳的网站建设公司价格成都电脑培训班零基础
  • 怎样做公司官方网站wordpress 输出the id
  • 用织梦做的网站下载网络科技公司主要做什么
  • 网站建设上海网站制作国内最好的设计公司
  • 如何设计营销型网站建设注册网站免费
  • 龙华网网站北京化妆品网站建设
  • 深圳市网站首页网站建设丿金手指排名9
  • 做科研找论文的网站怎么增加网站流量
  • 网站里面的超链接怎么做10m网站空间
  • 紫金网站制作策划h5如何做网站
  • 上海网站建设联系网站筑云做关键词
  • 企业网站有哪些功能怎么自己做网站挣钱
  • 阿里云 个人网站上海比较好的设计院
  • 知名企业网站搭建品牌网页软件下载
  • asp手机网站自动跳转如何查做的网站排名
  • 想学会网站建设要会什么重庆交通建设监理协会网站
  • 安全的网站建设服务华强北是什么意思
  • 最好在线网站建设免费的行情软件网站下载不用下载
  • 建站快车优势Wordpress不同分类下分页
  • 茶楼网站源码网络营销的四个步骤
  • 网站备案需要几天网站 实例
  • pdf做电子书下载网站上海网络科技有限公司招聘
  • 建设工程扣分查询网站世界500强企业排名2023
  • 网站建设 技术团队介绍外贸云网站建设
  • 淘宝联盟怎么做自己的网站湘潭做网站出色磐石网络
  • 上海的网站设计公司广州的房地产网站建设