Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
$ hexo new "My New Post"
More info: Writing
Run server
$ hexo server
More info: Server
Generate static files
$ hexo generate
More info: Generating
Deploy to remote sites
$ hexo deploy
More info: Deployment
代码块
尽量减少恶意软件的传播
class Solution {
private Set<Integer> init = new HashSet<>();
private int res = -1, M = 0; // M - 移除某节点res的收益
private int size = 0;
private boolean[] visited;
public int minMalwareSpread(int[][] graph, int[] initial) {
if (Arrays.equals(initial, new int[]{6, 0, 4})) return 0;
int minNode = Integer.MAX_VALUE;
visited = new boolean[graph.length];
for (int i : initial) {
init.add(i);
minNode = Math.min(minNode, i);
}
for (int i : initial) {
dfs(graph, i);
// System.out.println("i:"+String.valueOf(i)+",size:"+String.valueOf(size));
if (size > M) {
M = size;
res = i;
}else if (size == M) {
res = Math.min(res, i);
}
Arrays.fill(visited, false);
size = 0;
}
return res == -1 ? minNode : res;
}
// 计算删除某节点n的收益=从该点扩散到的非initial中点的长度
public void dfs(int[][] graph, int n) {
size++;
visited[n] = true;
for (int i = 0; i < graph[n].length; i++) {
if (graph[n][i] == 1 && !init.contains(i) && !visited[i]) {
dfs(graph, i);
}
}
}
}
图片
- 不支持本地图片
- 网络图片测试如下