网易首页 > 网易号 > 正文 申请入驻

面试不过不一定是你的能力不行,也可能是你的发型不好。。

0
分享至

以前面试有卡学历,卡能力,甚至卡性别的都有,现在又出现一个卡形象的。最近一网友说面试一个实习生,头发乱糟糟的,像鸡窝一样,面试印象大大折扣,感觉没有得到应有的尊重,结果直接把他挂了。

我觉得应该还是能力不行,头发乱对工作没啥影响,只要不是口臭就行了。我之前遇到一个同事,那口气一说话估计能把你熏倒,每次都害怕和他沟通问题,只要和他一说话我都尽量离的稍微远一点,真的很让人头疼。不知道大家在工作用有没有遇到那种让你很刺挠的同事。




--------------下面是今天的算法题--------------

来看下今天的算法题,这题是LeetCode的第1579题:保证图可完全遍历,难度是困难。

Alice 和 Bob 共有一个无向图,其中包含 n 个节点和 3 种类型的边:

类型 1:只能由 Alice 遍历。

类型 2:只能由 Bob 遍历。

类型 3:Alice 和 Bob 都可以遍历。

给你一个数组 edges ,其中 edges[i] = [typei, ui, vi] 表示节点 ui 和 vi 之间存在类型为 typei 的双向边。请你在保证图仍能够被 Alice和 Bob 完全遍历的前提下,找出可以删除的最大边数。如果从任何节点开始,Alice 和 Bob 都可以到达所有其他节点,则认为图是可以完全遍历的。

返回可以删除的最大边数,如果 Alice 和 Bob 无法完全遍历图,则返回 -1 。

示例1:



输入:n = 4, edges = [[3,1,2],[3,2,3],[1,1,3],[1,2,4],[1,1,2],[2,3,4]] 输出:2 解释:如果删除 [1,1,2] 和 [1,1,3] 这两条边,Alice 和 Bob 仍然可以完全遍历这个图。再删除任何其他的边都无法保证图可以完全遍历。所以可以删除的最大边数是 2 。

示例2:



输入:n = 4, edges = [[3,1,2],[3,2,3],[1,1,4],[2,1,4]] 输出:0 解释:注意,删除任何一条边都会使 Alice 和 Bob 无法完全遍历这个图。

  • 1 <= n <= 10^5

  • 1 <= edges.length <= min(10^5, 3 * n * (n-1) / 2)

  • edges[i].length == 3

  • 1 <= edges[i][0] <= 3

  • 1 <= edges[i][1] < edges[i][2] <= n

  • 所有元组 (typei, ui, vi) 互不相同

问题分析

这题说的是删除最多的边之后,让A(Alice)和B(Bob )都可以遍历所有的点,问删除最多的边的数量是多少?

我们假设删除最多的边之后只有A可以遍历所有的点,那么剩余边的数量就是n-1,其中n是顶点的个数,实际上就是图的一棵生成树,但不一定是最小的,我们在中讲过最小生成树。

生成树中是不能有环的,这里我们使用并查集来判断,如果两个点在同一个连通分量就不能再添加,否则会构成环,关于并查集的知识我们之前也多次介绍过,这里不在重复介绍。

如果图中既有A也有B,我们一样也可以使用并查集,这里我们使用两个并查集,一个记录A的一个记录B的。因为类型3,A和B都可以遍历,所以我们优先遍历类型3,然后再分别遍历类型1和类型2。

这题难度是困难,搞懂原理之后实际上没那么难,但代码量比较多,我们看下代码。

JAVA:

public int maxNumEdgesToRemove(int n, int[][] edges) {
// 顶点是从1开始的,不是从0开始的,这里我们把它加1.
UnionFind ufa = new UnionFind(n + 1);
UnionFind ufb = new UnionFind(n + 1);
int ans = 0;// 删除边的数量

for (int[] edge : edges) {// 公共边
if (edge[0] == 3) {
if (ufa.union(edge[1], edge[2])) {
ufb.union(edge[1], edge[2]);
} else {
ans++;// 删除该边
}
}
}

for (int[] edge : edges) { // 独占边
if (edge[0] == 1) {// Alice 独占边
if (!ufa.union(edge[1], edge[2]))
++ans;
} elseif (edge[0] == 2) { // Bob 独占边
if (!ufb.union(edge[1], edge[2]))
++ans;
}
}
// 如果连通分量不是 1 ,说明不能完全联通,返回-1。
if (ufa.cnt != 1 || ufb.cnt != 1)
return -1;
return ans;
}

// 并查集模板
privateclass UnionFind {
int[] parent;
int cnt;// 连通分量的个数

public UnionFind(int n) {
cnt = n - 1;// 初始化的时候n是加1的,这里要减去。
parent = newint[n];
for (int i = 0; i < n; ++i)
parent[i] = i;
}

private int find(int x) {
if (x != parent[x])
parent[x] = find(parent[x]);
return parent[x];
}

private boolean union(int x, int y) {
if (isConnected(x, y))
returnfalse;
int xParent = find(x);
int yParent = find(y);
parent[xParent] = yParent;
cnt--;
returntrue;
}

private boolean isConnected(int x, int y) {
return find(x) == find(y);
}
}

笔者简介

博哥,真名:王一博,毕业十多年, 作者,专注于 数据结构和算法 的讲解,在全球30多个算法网站中累计做题2000多道,在公众号中写算法题解900多题,对算法题有自己独特的解题思路和解题技巧。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
别只盯特朗普专机,鲁比奥还是来了,释放比访问更重要的信号

别只盯特朗普专机,鲁比奥还是来了,释放比访问更重要的信号

兰妮搞笑分享
2026-05-13 09:06:32
美国做了个实验,将3男3女关一起2年,他们出来时,令所有人惊讶

美国做了个实验,将3男3女关一起2年,他们出来时,令所有人惊讶

千秋文化
2026-05-05 20:32:13
92岁老中医仍出诊!他的“5不”养生经,简单到人人都能做到

92岁老中医仍出诊!他的“5不”养生经,简单到人人都能做到

神奇故事
2026-05-11 22:38:56
光纤黑马悄然崛起!这8家核心公司,藏着通信与电力的未来密码

光纤黑马悄然崛起!这8家核心公司,藏着通信与电力的未来密码

Thurman在昆明
2026-05-13 02:27:26
火箭夺冠激励丁俊晖?中国1哥明年40,获元老赛资格,圆梦克堡?

火箭夺冠激励丁俊晖?中国1哥明年40,获元老赛资格,圆梦克堡?

刘姚尧的文字城堡
2026-05-13 07:22:32
长公主被家暴流产了

长公主被家暴流产了

毒舌扒姨太
2026-04-08 22:29:19
央视怒批,目不识丁、洋相百出,难怪两会上冯远征建议演员多学习

央视怒批,目不识丁、洋相百出,难怪两会上冯远征建议演员多学习

傲傲讲历史
2026-03-05 16:08:43
调查发现:起床后喜欢喝杯水的人,用不了多久,身体会有4个改变

调查发现:起床后喜欢喝杯水的人,用不了多久,身体会有4个改变

荷兰豆爱健康
2026-05-12 19:15:52
特斯拉:再次突破

特斯拉:再次突破

新浪财经
2026-05-11 10:29:59
苹果首款折叠屏iPhone曝光:仅售两款低调配色,定价或14999元起

苹果首款折叠屏iPhone曝光:仅售两款低调配色,定价或14999元起

驱动中国
2026-05-12 11:05:18
阿斯:皇马确信欧足联会介入内格雷拉案,本土赛事巴萨或被禁赛

阿斯:皇马确信欧足联会介入内格雷拉案,本土赛事巴萨或被禁赛

懂球帝
2026-05-14 01:13:14
18个巡查组进驻广东医院!直查账本与药库,百姓们点赞:早该如此

18个巡查组进驻广东医院!直查账本与药库,百姓们点赞:早该如此

王二哥老搞笑
2026-05-13 16:07:38
赛力斯电池包碰撞场景脱离专利获授权 可在碰撞时使电池包与车体分离

赛力斯电池包碰撞场景脱离专利获授权 可在碰撞时使电池包与车体分离

金融界
2026-05-12 12:09:20
日本到底哪来底气一再挑衅中国?因为它们认为中国有两个“软肋”

日本到底哪来底气一再挑衅中国?因为它们认为中国有两个“软肋”

阿胡
2026-04-20 16:12:27
真被马斯克说中,全球争抢的不是芯片,而是中国20万一台的变压器

真被马斯克说中,全球争抢的不是芯片,而是中国20万一台的变压器

说历史的老牢
2026-05-09 12:34:09
FIFA秘书长、温格一行到访中国足协,考察国家足球青训中心

FIFA秘书长、温格一行到访中国足协,考察国家足球青训中心

懂球帝
2026-05-13 15:11:36
交物业费别瞎交!一句内行话,拿捏物业,不花冤枉钱

交物业费别瞎交!一句内行话,拿捏物业,不花冤枉钱

老特有话说
2026-05-13 17:03:23
广西这83名人员被实名曝光

广西这83名人员被实名曝光

930老友记
2026-05-13 11:19:40
奥运冠军黄雅琼拟入职衢州职业技术学院,回应:仍从事羽毛球相关工作

奥运冠军黄雅琼拟入职衢州职业技术学院,回应:仍从事羽毛球相关工作

上游新闻
2026-05-13 17:35:15
闪充+630km!比亚迪“新颜王”:5月21日上市

闪充+630km!比亚迪“新颜王”:5月21日上市

高科技爱好者
2026-05-13 22:57:09
2026-05-14 02:43:00
数据结构和算法
数据结构和算法
专门介绍和写算法题解的号
273文章数 4关注度
往期回顾 全部

头条要闻

女子闪婚获千万房产99%份额闪离后起诉分割 法院判了

头条要闻

女子闪婚获千万房产99%份额闪离后起诉分割 法院判了

体育要闻

14年半,74万,何冰娇没选那条更安稳的路

娱乐要闻

白鹿掉20万粉,网友为李晨鸣不平

财经要闻

美国总统特朗普抵达北京

科技要闻

阿里年营收首破万亿,AI终于不再是画大饼

汽车要闻

C级纯电轿跑 吉利银河"TT"申报图来了

态度原创

本地
家居
健康
游戏
公开课

本地新闻

用苏绣的方式,打开江西婺源

家居要闻

内在自叙,无域有方

干细胞能让人“返老还童”吗

LOL迎来史诗级改动,GEN被削废T1获利!GEN老板:为谁改的版本?

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版