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

代码随想录算法训练营第48天| 739. 每日温度,496.下一个更大元素 I,503.下一个更大元素II

第十一章:图论part01

图论理论基础

大家可以在看图论理论基础的时候,很多内容 看不懂,例如也不知道 看完之后 还是不知道 邻接矩阵,邻接表怎么用, 别着急。

理论基础大家先对各个概念有个印象就好,后面在刷题的过程中,每个知识点都会得到巩固。
https://www.programmercarl.com/kamacoder/%E5%9B%BE%E8%AE%BA%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html

深搜理论基础

了解一下深搜的原理和过程
https://www.programmercarl.com/kamacoder/%E5%9B%BE%E8%AE%BA%E6%B7%B1%E6%90%9C%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html

98. 所有可达路径

https://www.programmercarl.com/kamacoder/0098.%E6%89%80%E6%9C%89%E5%8F%AF%E8%BE%BE%E8%B7%AF%E5%BE%84.html

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Main {static List<List<Integer>> result = new ArrayList<>(); // 收集符合条件的路径static List<Integer> path = new ArrayList<>(); // 1节点到终点的路径public static void dfs(int[][] graph, int x, int n) {// 当前遍历的节点x 到达节点nif (x == n) { // 找到符合条件的一条路径result.add(new ArrayList<>(path));return;}for (int i = 1; i <= n; i++) { // 遍历节点x链接的所有节点if (graph[x][i] == 1) { // 找到 x链接的节点path.add(i); // 遍历到的节点加入到路径中来dfs(graph, i, n); // 进入下一层递归path.remove(path.size() - 1); // 回溯,撤销本节点}}}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int m = scanner.nextInt();// 节点编号从1到n,所以申请 n+1 这么大的数组int[][] graph = new int[n + 1][n + 1];for (int i = 0; i < m; i++) {int s = scanner.nextInt();int t = scanner.nextInt();// 使用邻接矩阵表示无向图,1 表示 s 与 t 是相连的graph[s][t] = 1;}path.add(1); // 无论什么路径已经是从1节点出发dfs(graph, 1, n); // 开始遍历// 输出结果if (result.isEmpty()) System.out.println(-1);for (List<Integer> pa : result) {for (int i = 0; i < pa.size() - 1; i++) {System.out.print(pa.get(i) + " ");}System.out.println(pa.get(pa.size() - 1));}}
}

广搜理论基础

https://www.programmercarl.com/kamacoder/%E5%9B%BE%E8%AE%BA%E5%B9%BF%E6%90%9C%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html


http://www.mrgr.cn/news/53501.html

相关文章:

  • 华为OD机试2024年真题(基站维修工程师)
  • 网页打印——魔都千丝冥缘——未来之窗行业应用跨平台架构
  • 滑动窗口-无重复字符的最长字串
  • vscode open editors 打开
  • 写论文节省论文页面空间的办法
  • latex常见长度单位
  • 第一百零七周周报
  • 如何保护您的服务器免受 POODLE SSLv3 漏洞的影响
  • wpf grid 的用法
  • WordPress任推帮网盘拉新数据统计插件
  • Miniconda管理虚拟环境【Python环境配置】
  • HDU RealPhobia
  • Spring实现3种异步流式接口,解决接口超时烦恼
  • Apple Vision Pro市场表现分析:IDC最新数据揭示的真相
  • 郑州大学第一附属医院许建中教授专家团队会诊室揭牌仪式在郑州长江中医院成功举行
  • 华为杯”第十三届中国研究生数学建模竞赛-E题:基于多目标规划和智能优化算法的粮食最低收购价政策研究(中)
  • LLM 的推理优化技术纵览
  • C++类的构造函数
  • 如何安装MySql
  • JavaWeb 23.NPM配置和使用