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

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

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-09-30 10:10:18
普京阴阳怪气,罕见连用2大嘲讽恶词,信号不简单,说谁自己清楚

普京阴阳怪气,罕见连用2大嘲讽恶词,信号不简单,说谁自己清楚

旧史新谭
2026-10-04 18:13:45
伊朗外长:军事选项已死!

伊朗外长:军事选项已死!

不甜的李子
2026-10-05 16:03:03
中考取消了,是真的

中考取消了,是真的

行者殷涛
2026-10-03 16:38:09
“给你钱,让我搞一下”:29岁女子独自骑马到新疆,被一个70岁大爷性骚扰,摸了她两次大腿

“给你钱,让我搞一下”:29岁女子独自骑马到新疆,被一个70岁大爷性骚扰,摸了她两次大腿

江山挥笔
2026-09-13 11:03:46
穆勒:拜仁拒绝曼联1亿欧报价让我很高兴,是对我极大的认可

穆勒:拜仁拒绝曼联1亿欧报价让我很高兴,是对我极大的认可

懂球帝
2026-10-05 19:30:09
8000万欧标价:皇马问过一次的中场,切尔西7000万都没带走

8000万欧标价:皇马问过一次的中场,切尔西7000万都没带走

温柔且自由
2026-10-05 17:08:58
毛主席送给尼克松总统一幅字,至今无人看懂(附毛主席最全书法合集)

毛主席送给尼克松总统一幅字,至今无人看懂(附毛主席最全书法合集)

中国艺术家
2026-09-24 05:34:47
病友笑我买恒瑞医药是赌博,它熬出十款新药

病友笑我买恒瑞医药是赌博,它熬出十款新药

真实人物采访
2026-10-04 17:30:11
小米新机突然官宣:10月12日开售,国补2299元

小米新机突然官宣:10月12日开售,国补2299元

搞机小帝
2026-10-04 21:47:21
砍机长的副驾驶身份终于被扒出!3000多条“仇女”言论被翻出来

砍机长的副驾驶身份终于被扒出!3000多条“仇女”言论被翻出来

哎呀哎呀看电影
2026-10-04 20:39:20
网友偶遇,小菲抱小儿子怀柔度假,父子俩草坪互动超温馨!

网友偶遇,小菲抱小儿子怀柔度假,父子俩草坪互动超温馨!

寻墨阁
2026-10-05 12:47:20
现在的俄罗斯,大概率仅剩两条道可走:第一,把吃进去的地全还回来,赔到认怂;第二,扯掉“特别军事行动”这层遮羞布,正式宣战

现在的俄罗斯,大概率仅剩两条道可走:第一,把吃进去的地全还回来,赔到认怂;第二,扯掉“特别军事行动”这层遮羞布,正式宣战

扶苏聊历史
2026-10-05 11:46:24
没有任何退路可言!中国国防部向世界警告:解放军已做好全部准备

没有任何退路可言!中国国防部向世界警告:解放军已做好全部准备

阿芒娱乐说
2026-09-23 15:11:19
央视怒批、空有皮囊、德不配位,难怪国庆大场面不请“流量明星”

央视怒批、空有皮囊、德不配位,难怪国庆大场面不请“流量明星”

离离言几许
2026-10-03 15:41:26
房价很大可能重走1998年老路!所有人一定要提前做好心理准备

房价很大可能重走1998年老路!所有人一定要提前做好心理准备

偷喝一口奶
2026-09-11 08:36:30
大批美国游客涌入中国,回国后坦言:客观比较,中国比美国强多了

大批美国游客涌入中国,回国后坦言:客观比较,中国比美国强多了

雪儿爱追剧
2026-10-05 01:06:59
向太说1999年马云来她家,聊了一晚上互联网,从头到尾没开口要钱

向太说1999年马云来她家,聊了一晚上互联网,从头到尾没开口要钱

荆楚寰宇文枢
2026-09-28 22:14:46
陈赓端上一碗白水萝卜,自己躲屋里啃烧鸡,彭总推开门一看:好你个王八蛋

陈赓端上一碗白水萝卜,自己躲屋里啃烧鸡,彭总推开门一看:好你个王八蛋

纪史行者
2026-09-30 06:05:06
3-0横扫晋级!中国女乒15岁新星崛起夺4连胜:看齐孙颖莎王曼昱?

3-0横扫晋级!中国女乒15岁新星崛起夺4连胜:看齐孙颖莎王曼昱?

李喜林篮球绝杀
2026-10-05 13:17:49
2026-10-05 19:48:49
数据结构和算法
数据结构和算法
专门介绍和写算法题解的号
273文章数 4关注度
往期回顾 全部

头条要闻

明珍珍被执行死刑前画面披露 接受采访神情淡定露微笑

头条要闻

明珍珍被执行死刑前画面披露 接受采访神情淡定露微笑

体育要闻

30天30队·热:扬尼斯、阿德巴约与克雷

娱乐要闻

胡歌现身游本昌遗体告别仪式

财经要闻

零跑声明切割!蔡康永两面人身份被抵制

科技要闻

2026年诺奖:三名科学家因光遗传学获奖

汽车要闻

方程豹9月热销破4万 首款皮卡鲨鱼将于四季度上市

态度原创

手机
教育
游戏
旅游
时尚

手机要闻

消息某厂商2亿像素三摄旗舰机被砍,预计为小米18 Ultra

教育要闻

优秀班主任的4个绝招,这样做更容易走近孩子

《巫师3RE》猎奇Bug太诡异 谁把我性感特莉丝皮剥了

旅游要闻

潮玩三国品民俗 到成都洛带从早耍到晚

像珊瑚一样生长:Balenciaga 的新生态

无障碍浏览 进入关怀版