news 2026/4/23 14:19:51

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/23 9:58:34

基于SpringBoot和Vue的实验室预约系统设计与实现

文章目录 详细视频演示项目介绍技术介绍功能介绍核心代码系统效果图源码获取 详细视频演示 文章底部名片&#xff0c;获取项目的完整演示视频&#xff0c;免费解答技术疑问 项目介绍 基于Spring Boot的实验室预约系统采用前后端分离架构&#xff0c;后端以Spring Boot为核心框…

作者头像 李华
网站建设 2026/4/23 11:18:39

从企业能耗集采到区域碳管理-智慧能源平台开发指南

先上干货&#xff01; 墙内仓库地址&#xff08;码云&#xff09;&#xff1a;https://gitee.com/guangdong122/energy-management 已同步更新到 github 仓库 温馨提示&#xff1a;文末有资源获取方式~ 能源系统|能源系统源码|企业能源系统|企业能源系统源码|能源监测系统 一…

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

机器学习面试问题及答案

摘要&#xff1a;本文整理了50个机器学习面试问题及答案&#xff0c;涵盖基础概念到高级应用。基础部分包括机器学习定义、监督/无监督学习、过拟合/欠拟合及解决方法、正则化、特征工程等核心概念。中级部分涉及线性回归、逻辑回归、决策树、随机森林等常用算法原理。高级部分…

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

二维钻孔封孔效果模拟案例解析

二维钻孔封孔效果模拟案例 钻孔封孔这事儿听着简单&#xff0c;实际在地下工程里可是个技术活。今天咱们拿MATLAB的PDE工具箱做个二维模拟&#xff0c;看看封孔材料怎么影响密封效果。先别急着关页面&#xff0c;代码部分我尽量说得像唠嗑&#xff0c;保证不催眠。 先整点基础…

作者头像 李华
网站建设 2026/4/23 11:32:06

线性代数资源合集

线性代数不挂科-2小时学完线性代数 文件大小: 2.1GB内容特色: 2小时线性代数&#xff0c;期末急救不挂科适用人群: 大学期末考生、线代零基础突击者核心价值: 高频考点真题速解&#xff0c;抢分稳过下载链接: https://pan.quark.cn/s/eaf96483e5d5 ##可视化高数线代概率教学视…

作者头像 李华