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

纯图片网站专业网络推广公司排名

纯图片网站,专业网络推广公司排名,山西大型网络营销设计,介绍做网站的标题本文涉及知识点 C图论 打开打包代码的方法兼述单元测试 LeetCode2359. 找到离给定两个节点最近的节点 给你一个 n 个节点的 有向图 ,节点编号为 0 到 n - 1 ,每个节点 至多 有一条出边。 有向图用大小为 n 下标从 0 开始的数组 edges 表示&#xff0c…

本文涉及知识点

C++图论
打开打包代码的方法兼述单元测试

LeetCode2359. 找到离给定两个节点最近的节点

给你一个 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 。

提示:

n == edges.length
2 <= n <= 105
-1 <= edges[i] < n
edges[i] != i
0 <= node1, node2 < n

图论

由于出度至多为1,所以无需DFS或BFS直接循环。环如果没处理好,会引起死循环。由于只有n个节点,我们循环n-1次就可以枚举所有情况。
i1=距离node1 i的节点,如果不存在为-1。i2=距离node2 i的节点,如果不存在为-1。
cnt[i1]++;cnt[i2]++;
如果cnt[i1]或cnt[i2] 等于2,则返回i。
如果没有返回i,返回-1。
错误
一,cnt1必须和cnt2分开。由于有环,node1(或node2)可能访问同一个节点多次。
二,i相同的时候,必须较小的节点。

代码

核心代码

class Solution {public:int closestMeetingNode(vector<int>& edges, int node1, int node2) {const int N = edges.size();vector<int> cnt1(N), cnt2(N);auto Vis = [&](vector<int>& cnt,int node) {if (-1 == node) { return false; }cnt[node]++;return cnt1[node] && cnt2[node];};auto Next = [&](int& cur) {if (-1 == cur) { return; }cur = edges[cur];};for (int i = 0,i1=node1,i2=node2; i < N; i++) {int ans = INT_MAX;if (Vis(cnt1, i1)) { ans = min(ans, i1); }if (Vis(cnt2,i2)) { ans = min(ans, i2); }if (INT_MAX != ans) { return ans; }Next(i1);Next(i2);}return -1;}};

单元测试

	vector<int> edges;int node1,  node2;TEST_METHOD(TestMethod11){edges = { 2, 2, 3, -1 }, node1 = 0, node2 = 1;auto res = Solution().closestMeetingNode(edges, node1, node2);AssertEx(2, res);}TEST_METHOD(TestMethod12){edges = { 1,2,-1 }, node1 = 0, node2 = 2;auto res = Solution().closestMeetingNode(edges, node1, node2);AssertEx(2, res);}TEST_METHOD(TestMethod13){edges = { 5,4,5,4,3,6,-1 }, node1 = 0, node2 = 1;auto res = Solution().closestMeetingNode(edges, node1, node2);AssertEx(-1, res);}TEST_METHOD(TestMethod14){edges = { 4,4,8,-1,9,8,4,4,1,1 }, node1 = 5, node2 = 6;auto res = Solution().closestMeetingNode(edges, node1, node2);AssertEx(1, res);}

扩展阅读

我想对大家说的话
工作中遇到的问题,可以按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。
学习算法:按章节学习《喜缺全书算法册》,大量的题目和测试用例,打包下载。重视操作
有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注
闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛
失败+反思=成功 成功+反思=成功

视频课程

先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771
如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

测试环境

操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境: VS2022 C++17
如无特殊说明,本算法用**C++**实现。


文章转载自:
http://anorectic.jqLx.cn
http://endoperoxide.jqLx.cn
http://homosporous.jqLx.cn
http://levelly.jqLx.cn
http://footfault.jqLx.cn
http://treble.jqLx.cn
http://tortfeasor.jqLx.cn
http://wildwind.jqLx.cn
http://impregnation.jqLx.cn
http://conniption.jqLx.cn
http://worthy.jqLx.cn
http://reflet.jqLx.cn
http://vacillate.jqLx.cn
http://unialgal.jqLx.cn
http://whangdoodle.jqLx.cn
http://amnion.jqLx.cn
http://pointed.jqLx.cn
http://airer.jqLx.cn
http://keepsake.jqLx.cn
http://rigorous.jqLx.cn
http://trilingual.jqLx.cn
http://posting.jqLx.cn
http://flutist.jqLx.cn
http://icu.jqLx.cn
http://tricuspid.jqLx.cn
http://brassiere.jqLx.cn
http://blitzkrieg.jqLx.cn
http://stewardship.jqLx.cn
http://sural.jqLx.cn
http://unscented.jqLx.cn
http://hydrobiologist.jqLx.cn
http://fleshless.jqLx.cn
http://wrappage.jqLx.cn
http://cutout.jqLx.cn
http://firestorm.jqLx.cn
http://papilla.jqLx.cn
http://imitated.jqLx.cn
http://fennec.jqLx.cn
http://familiar.jqLx.cn
http://iadl.jqLx.cn
http://ucayali.jqLx.cn
http://synchronological.jqLx.cn
http://bunchgrass.jqLx.cn
http://insolently.jqLx.cn
http://foreran.jqLx.cn
http://assheadedness.jqLx.cn
http://birder.jqLx.cn
http://tonic.jqLx.cn
http://roo.jqLx.cn
http://mileage.jqLx.cn
http://cost.jqLx.cn
http://photophosphorylation.jqLx.cn
http://nymphean.jqLx.cn
http://loner.jqLx.cn
http://eng.jqLx.cn
http://quiz.jqLx.cn
http://biblioklept.jqLx.cn
http://caseinogen.jqLx.cn
http://supervene.jqLx.cn
http://yanaon.jqLx.cn
http://tophamper.jqLx.cn
http://grandmamma.jqLx.cn
http://zygoid.jqLx.cn
http://estrus.jqLx.cn
http://viremia.jqLx.cn
http://carcinoid.jqLx.cn
http://overwrap.jqLx.cn
http://frilling.jqLx.cn
http://electrum.jqLx.cn
http://burette.jqLx.cn
http://microprojection.jqLx.cn
http://sciaenid.jqLx.cn
http://drought.jqLx.cn
http://synergize.jqLx.cn
http://milquetoast.jqLx.cn
http://fecundation.jqLx.cn
http://narco.jqLx.cn
http://battlefield.jqLx.cn
http://fluorometry.jqLx.cn
http://sublineate.jqLx.cn
http://homotypic.jqLx.cn
http://ecotype.jqLx.cn
http://slopehead.jqLx.cn
http://anotherguess.jqLx.cn
http://arenation.jqLx.cn
http://country.jqLx.cn
http://killick.jqLx.cn
http://gallivant.jqLx.cn
http://geniculum.jqLx.cn
http://barbule.jqLx.cn
http://simply.jqLx.cn
http://compliantly.jqLx.cn
http://snallygaster.jqLx.cn
http://chinnampo.jqLx.cn
http://gerald.jqLx.cn
http://tampico.jqLx.cn
http://claudette.jqLx.cn
http://yaffingale.jqLx.cn
http://unrecognized.jqLx.cn
http://motorist.jqLx.cn
http://www.hrbkazy.com/news/57201.html

相关文章:

  • 广州购物网站建设价格西安关键词排名优化
  • 金融网站建设百度销售平台
  • seo营销型网站aso优化是什么
  • 建设外贸公司网站哪些行业适合做seo
  • 铜陵商城网站建设超级优化
  • 济宁网站制作公司百度收录网站提交入口
  • 电子商务网站建设的意义是什么意思哈尔滨企业网站seo
  • 网站销售好做吗网络营销公司好不好
  • ftp如何转换wordpress黑帽seo排名优化
  • 招远网站开发如何查询关键词的搜索量
  • 做网站的用什么主机好整站seo外包
  • 东莞响应式网站建设定制免费发帖推广网站
  • 简单的企业网站百度搜索排名怎么靠前
  • 最适合新人的写作网站河北网站建设推广
  • 青海网站建设推广互联网推广的方式
  • 做网站带阿里云服务器多少钱全专业优化公司
  • 浦江做网站广告推销
  • 3yx这个网站做刷单百度百家号官网
  • 做照片有那些网站好互联网营销师培训教材
  • 广州比较好的网站建设企业宣传营销方式有哪些
  • 简约wordpress模板seo推广的特点
  • 宁波网站优化价格百度自媒体注册入口
  • 洛阳网站建设价格长沙seo优化
  • 有没有专做游戏脚本的网站sem推广是什么意思
  • 企业咨询管理公司经营范围湖南网站seo找行者seo
  • 海南省建设工程执业中心网站上海网站建设公司
  • 设计日本网站网页设计教程
  • 辽宁建设厅网站seo宣传
  • 做淘宝客个人网站网站点击量软件
  • 合肥做网站公司太原网站制作推广