力扣-图论-5【算法学习day.55】

目录

前言

习题

1.移除可疑的方法

后言


前言

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


习题

1.移除可疑的方法

题目链接: 3310. 移除可疑的方法 - 力扣(LeetCode)

题面:

**分析:**我们可以定义一个集合数组,mapi就表示i节点所指向的所有节点,然后递归将所有可疑节点打上标记,然后遍历invocations数组,如果出现第一个元素是不可疑的,第二个元素是可疑的,就直接返回所有元素,否则,就把没打上可疑标记的元素返回。

java 复制代码
class Solution {
    List<Integer>[] map1;
    List<Integer>[] map2;
    int[] flag;
    ArrayList<Integer> no = new ArrayList<>();
    int[] cuc = new int[100000];
    int count = 0;
    public List<Integer> remainingMethods(int n, int k, int[][] invocations) {
        map1 = new List[n];
          flag = new int[n];
        Arrays.setAll(map1,_->new ArrayList<Integer>());
        for(int[] arr : invocations){
            int a = arr[0];
            int b = arr[1];
            // union(a,b);
            map1[a].add(b);
        }
        recurison(k);
        List<Integer> ans = new ArrayList<>();
         for(int[] arr : invocations){
            if(flag[arr[0]]==0&&flag[arr[1]]==1){
                for(int i = 0;i<n;i++)ans.add(i);
                return ans;
            }
        }

        for(int i = 0;i<n;i++){
            if(flag[i]==0)ans.add(i);
        }
        return ans;
    }
    public void recurison(int x){
        flag[x] =1;
        for(int a:map1[x]){
            if(flag[a]==0){
                recurison(a);
            }
        }
    }
}

后言

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

相关推荐
代码山河1 天前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
学长毕设1 天前
基于SpringBoot的实验室资产管理系统
java·spring boot·后端
释厄6231 天前
AI学习层更新与跨体转移律——人类社会同构·不缺理解缺 U
人工智能·学习
zzu123zsw1 天前
从臃肿的模板调用到声明式契约:深入 UniHttp 动态代理与多渠道生命周期扩展
java·spring boot·microsoft·unihttp
UIU1141 天前
P1233 [ICPC 2001 Taejon R] 木棍加工
数据结构·c++·算法·动态规划
源码集结号1 天前
云诊所门诊系统源码,基于SpringBoot+Vue.js架构,支持多租户设计与Docker容器化部署
java·spring boot·源码·医院信息系统·门诊系统·诊所系统
论文复现现场1 天前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
ZhengEnCi1 天前
用 AI 写代码为什么拼到最后还是拼人:算力瓶颈与领域专家提示词的本质差异
算法·架构
啃瓜子的松鼠1 天前
泛微OAe9-后端二开异步调用
java
秋天的怀念_David1 天前
第二十一夜 · 数字黑洞与西西弗斯的惩罚
java·程序人生·算法