news 2026/5/13 9:30:57

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/5/12 11:32:18

《Java并发编程的艺术》| 并发关键字与 JMM 核心规则

摘要&#xff1a;本篇文章围绕 Java 并发编程核心&#xff0c;梳理了 volatile、synchronized的实现原理与特性 &#xff1b;同时详解了 JMM&#xff0c;需配合 volatile、synchronized等工具&#xff0c;才能实现多线程下共享变量的原子性、可见性和有序性保障。 第2章 Java并…

作者头像 李华
网站建设 2026/5/11 18:30:44

93基于三菱PLC和组态王的兰花灌溉控制系统的农业农田应用

93基于三菱PLC和组态王的兰花灌溉控制系统的农业农田 兰花这种傲娇的植物&#xff0c;浇多了烂根&#xff0c;浇少了干枯&#xff0c;传统人工浇水能把种植户逼疯。去年在云南花卉基地看到师傅们凌晨三点打着手电筒浇水&#xff0c;我就琢磨着用三菱FX3U PLC搭个自动灌溉系统&…

作者头像 李华
网站建设 2026/5/12 11:33:06

专升本高数资源合集

2022专升本数学全程班&#xff08;完结&#xff09; 文件大小: 45.4GB内容特色: 2022专升本数学全程录播&#xff0c;45GB高清适用人群: 专科升本人群、数学基础薄弱需系统复习者核心价值: 考点全覆盖真题精讲&#xff0c;一站式冲刺高分下载链接: https://pan.quark.cn/s/05f…

作者头像 李华
网站建设 2026/5/12 11:32:36

动力学方程

考虑扰动的欠驱动船舶轨迹跟踪自适应滑模控制水面上的铁疙瘩要听话可不容易。三万吨的货轮在风浪里扭秧歌&#xff0c;舵机转得冒火星子还追不上预定航线&#xff0c;这场景让多少控制工程师头秃。传统PID那套在平静水域还行&#xff0c;遇上横风横流立马歇菜——这时候就得掏出…

作者头像 李华
网站建设 2026/5/12 12:30:20

基于博途1200 plc的V15软件邮件分拣控制系统

基于博途1200 plc的邮件分拣控制系统 软件版本:V15 凌晨三点的物流中心&#xff0c;传送带嗡嗡作响。三台S7-1200 PLC组成的控制系统正指挥着机械臂像老练的邮差&#xff0c;把不同地区的包裹准确投入对应格口。这套系统最有趣的地方在于——它把传统继电控制逻辑玩出了新花样…

作者头像 李华