news 2026/4/15 10:31:39

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/12 3:12:25

leetcode 925. Long Pressed Name 长按键入-耗时100

Problem: 925. Long Pressed Name 长按键入 耗时100%&#xff0c;双指针&#xff0c;若左右字符相等l; r&#xff0c;若r > 0 && typed[r-1]typed[r]则r&#xff0c;否则false&#xff0c;最后若while(r < n2 && typed[r-1]typed[r]) r;&#xff0c;if(l…

作者头像 李华
网站建设 2026/4/12 14:42:39

如何获得Agentic AI提示工程架构师认证?备考与实战经验

Agentic AI提示工程架构师认证全攻略&#xff1a;备考计划实战经验核心技巧 1. 标题 (Title) 从入门到持证&#xff1a;Agentic AI提示工程架构师认证备考实战指南Agentic AI提示工程架构师认证之路&#xff1a;我如何3个月从零基础到通过考试&#xff1f;成为AI架构师的敲门…

作者头像 李华
网站建设 2026/4/12 13:59:26

14.僵尸孤儿-进程状态

一个pcb既属于全局链表又属于这个队列这个队列也是双链表&#xff0c;只不过先进先出FIFO运行状态就是正在被cpu运行&#xff0c;或者准备好了随时等待被调度。 包括运行和就绪。一个进程要去读键盘就要转去另一个队列&#xff0c;如果这个设备没有活跃&#xff0c;就没有读到键…

作者头像 李华
网站建设 2026/4/5 7:00:40

MATLAB鸟鸣识别系统截图](https://example.com/gui_screenshot.png

基于MATLAB的鸟鸣识别系统gui 传统声音特征&#xff0c;如MFCC机器学习分类器 分类器有支持向量积svm&#xff0c;邻近knn&#xff0c;分类树tree等 深度学习方法主要是先提取语谱图&#xff0c;有短时傅立叶时频图&#xff0c;和梅尔时频图 然后用googlenet进行深度学习训练 结…

作者头像 李华
网站建设 2026/4/13 15:39:59

数据立方体技术演进:从传统BI到大数据分析的跨越

数据立方体技术演进&#xff1a;从传统BI到大数据分析的跨越 关键词&#xff1a;数据立方体、OLAP、大数据分析、维度建模、实时计算 摘要&#xff1a;数据立方体是数据分析领域的"瑞士军刀"&#xff0c;它用"多维切片"的魔法让复杂数据变得可感知、可操作…

作者头像 李华
网站建设 2026/4/4 4:29:56

multi function vehicle inverter

multi function vehicle inverter 车载多功能逆变器然后就有三角插了&#xff0c;可以插笔记本电脑&#xff0c;或者其他&#xff0c;但是不知道对车的电池损害大不大&#xff0c;比较接出来变成高电压了。

作者头像 李华