力扣-图论-8【算法学习day.58】

前言

###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.引爆最多的炸弹

题目链接: 2101. 引爆最多的炸弹 - 力扣(LeetCode)

题面:

**分析:**本质上还是求单向最大连通图,只不过连通的条件改成了能不能引爆 ,贴上灵神代码

代码:

java 复制代码
class Solution {
    public int maximumDetonation(int[][] bombs) {
        int n = bombs.length;
        List<Integer>[] g = new ArrayList[n];
        Arrays.setAll(g, i -> new ArrayList<>());
        for (int i = 0; i < n; i++) {
            long x = bombs[i][0];
            long y = bombs[i][1];
            long r = bombs[i][2];
            for (int j = 0; j < n; j++) {
                long dx = x - bombs[j][0];
                long dy = y - bombs[j][1];
                if (j != i && dx * dx + dy * dy <= r * r) {
                    g[i].add(j); // i 可以引爆 j
                }
            }
        }

        int ans = 0;
        boolean[] vis = new boolean[n];
        for (int i = 0; i < n && ans < n; i++) {
            Arrays.fill(vis, false);
            ans = Math.max(ans, dfs(g, vis, i));
        }
        return ans;
    }

    private int dfs(List<Integer>[] g, boolean[] vis, int x) {
        vis[x] = true;
        int cnt = 1;
        for (int y : g[x]) {
            if (!vis[y]) {
                cnt += dfs(g, vis, y);
            }
        }
        return cnt;
    }
}

后言

上面是力扣图论专题,下一篇是其他的习题,希望有所帮助,一同进步,共勉!

相关推荐
Coder_Boy_1 分钟前
基于DDD+Spring Boot 3.2+LangChain4j构建企业级智能客服系统 版本升级
java·人工智能·spring boot·后端·langchain
徐子童1 分钟前
优选算法---哈希表
数据结构·算法·哈希表
疑惑的杰瑞4 分钟前
掌握 C 语言流程控制:分支、循环、goto 与表达式求值详解
c语言·开发语言·算法·算术转换
武昌库里写JAVA6 分钟前
vue+iview+node+express实现文件上传,显示上传进度条,实时计算上传速度
java·vue.js·spring boot·后端·sql
im_AMBER11 分钟前
Leetcode 85 【滑动窗口(不定长)】最多 K 个重复元素的最长子数组
c++·笔记·学习·算法·leetcode·哈希算法
问道飞鱼13 分钟前
【工具知识】在 Spring Boot 项目中结合 IntelliJ IDEA 实现不同环境配置文件选择
java·spring boot·intellij-idea·多环境
B_lack02614 分钟前
字节转换算法应用_读取本地时间
数据结构·算法·数组·西门子plc·博途·时间处理·scl
nwsuaf_huasir16 分钟前
overleaf在线编译latex怎办编译中文
学习
java坤坤22 分钟前
Elasticsearch Java实战手册:搭建、条件构建与分页优化
java·elasticsearch
leiming623 分钟前
c++ string 容器
开发语言·c++·算法