当前位置: 首页 > news >正文

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; } };
http://www.jsqmd.com/news/359060/

相关文章:

  • leetcode 925. Long Pressed Name 长按键入-耗时100
  • 【无人机控制】模糊神经网络FNN控制器控制固定翼无人机【含Matlab源码 15083期】
  • 【ALA三维路径规划】改进的人工旅鼠算法IALA复杂三维无人机路径规划(含ALA、WOA对比)【含Matlab源码 15085期】
  • Debian挂载飞牛OS创建的RAID分区和Btrfs分区指南
  • AI原生应用领域新趋势:跨语言理解的无限可能
  • ClickHouse在车联网大数据处理中的应用案例
  • AI协作沟通不畅?计算机科学研究中AI应用架构师的3种解决方案
  • fuse-exfat
  • 数据产品视频领域:内容理解与智能推荐算法
  • Lora微调关键指标和实战
  • 下一代金融AI风险预警架构展望:AI应用架构师如何融入大模型与多模态技术?
  • 【GitHub项目推荐--DeepTutor:AI驱动的个性化学习助手平台】⭐⭐⭐⭐
  • 【无人机控制】基于matlab模糊神经网络FNN控制器控制固定翼无人机【含Matlab源码 15083期】
  • 对《深入理解计算机系统》第七章 链接的读书随笔
  • 【ALA三维路径规划】基于matlab改进的人工旅鼠算法IALA复杂三维无人机路径规划(含ALA、WOA对比)【含Matlab源码 15085期】
  • 语言模型推理能力的跨文化差异性评估
  • 基于SpringBoot和Vue的实验室预约系统设计与实现
  • AI应用架构师实战:用Docker+Kubernetes构建大规模AI服务的完整部署流水线
  • 基于springboot的群众网上高效办事系统的设计与实现
  • 基于SpringBoot和Vue的社区团购系统
  • 如何获得Agentic AI提示工程架构师认证?备考与实战经验
  • Data URL 和base64 的区别?
  • Nux Dextop仓库
  • PWS-1000型电液伺服构件疲劳试验系统
  • PLS-200型电液伺服桥梁伸缩装置试验系统
  • HiveQL - LIKE and RLIKE
  • 整机研发开发设计怎么做?2026新纪元三大趋势与成功要素解析 - 匠言榜单
  • 完整教程:人脸识别API开发者对接代码示例
  • 《Java并发编程的艺术》| 并发关键字与 JMM 核心规则
  • Python数据可视化艺术:动态壁纸生成器 - 详解