news 2026/4/25 16:16:02

leetcode 困难题 924. Minimize Malware Spread 尽量减少恶意软件的传播

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 困难题 924. Minimize Malware Spread 尽量减少恶意软件的传播

Problem: 924. Minimize Malware Spread 尽量减少恶意软件的传播

先排序initial,然后对initial中的每个数字dfs深度优先搜索,对可以感染的node标记起始数字initial[i],并且哈希表记录该标记对应的节点数量num,已经标记的节点不重复搜索

最后排除某一个节点,双循环,拿到initial[j]对应的标记a,若标记a没有被访问则累加对应的节点数量ump[a],不断排除某一个节点,计算剩下节点感染的总和并且拿到最小值

Code

class Solution { public: int n, num; vector<int> status; void dfs(vector<vector<int>>& graph, int start, int mark) { status[start] = mark; num++; for(int i = 0; i < graph[start].size(); i++) { if(graph[start][i]==1 && status[i] < 0) { dfs(graph, i, mark); } } } int minMalwareSpread(vector<vector<int>>& graph, vector<int>& initial) { n = graph.size(); status.assign(n, -1); int a, id; sort(initial.begin(), initial.end()); unordered_map<int, int> ump; for(int i = 0; i < initial.size(); i++) { a = initial[i]; if(status[a] < 0) { num = 0; dfs(graph, a, a); ump[a] = num; } } int ans, mi = INT_MAX; for(int i = 0; i < initial.size(); i++) { vector<int> tmp(n, -1); ans = 0; for(int j = 0; j < initial.size(); j++) { if(i==j || tmp[status[initial[j]]] > 0) { continue; } a = status[initial[j]]; if(tmp[a] < 0) { tmp[a] = 1; ans += ump[a]; } } if(ans < mi) { mi = ans; id = initial[i]; } } return id; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 3:05:18

7. 基于三菱PLC的3×4立体车库组态系统

7基于三菱PLC组态王34立体车库组态系统立体车库这玩意儿现在真是遍地开花&#xff0c;但要让12个车位在3层4列里自动腾挪可没看起来那么轻松。今天咱们就唠唠怎么用三菱PLC和组态王搭出个稳定运行的立体车库控制系统&#xff0c;手把手教你避开那些新手必踩的坑。硬件选型&…

作者头像 李华
网站建设 2026/4/20 11:35:17

风储调频技术:真实可靠的储能模型与使用保障

风储调频&#xff0c;储能调频&#xff0c;保证真实&#xff0c;模型如图&#xff0c;保证正常使用 风电场输出功率看天吃饭这事儿&#xff0c;大伙儿都懂。风速突然抽风&#xff0c;电网频率直接坐过山车。这时候储能系统就得像个救火队员&#xff0c;抄起充放电的大锤稳住局…

作者头像 李华
网站建设 2026/4/25 7:32:53

UG NX修补: 曲面和实体缝合

设计过程中可能会遇到一些曲面需要跟实体进行缝合&#xff0c;那么如何实现现曲面和实体缝合呢&#xff1f;

作者头像 李华
网站建设 2026/4/25 5:15:12

P10570 [JRKSJ R8] 网球

记录73 #include<bits/stdc.h> using namespace std; long long gcd(long long a,long long b){return b?gcd(b,a%b):a; } int main(){int T;long long a,b,c,t;cin>>T;while(T--){cin>>a>>b>>c;tgcd(a,b);a/t;b/t;tmin(a,b);if(c%t0) c/t;els…

作者头像 李华
网站建设 2026/4/19 12:07:37

WordPress中if语句判断字段是否存在并输出内容

在WordPress中可以使用if语句判断字段是否存在并输出内容。基于你的需求&#xff0c;三个社交图标的完整判断代码如下&#xff1a; <?php // 微博图标 - 判断 weibo 字段 $weibo of_get_option(weibo); if (!empty($weibo)) : ?><a href"<?php echo esc…

作者头像 李华
网站建设 2026/4/22 12:48:16

三亚精选十大海鲜美食推荐,让你的味蕾一次满足

三亚的美食文化丰富多样&#xff0c;尤其以海鲜和湘菜的结合备受欢迎。此地的海鲜不仅新鲜可口&#xff0c;还有具地方特色的湘菜。比如&#xff0c;三亚柠檬酸菜鱼、冬笋炒腊肉和湘味炒海鲜等美食&#xff0c;非常值得尝试。此外&#xff0c;无论是脆皮烧鸡还是湖南血鸭&#…

作者头像 李华