首页 > 编程语言 >代码随想录算法训练营第56天 | 42. 接雨水 、84.柱状图中最大的矩形

代码随想录算法训练营第56天 | 42. 接雨水 、84.柱状图中最大的矩形

时间:2024-07-07 23:19:26浏览次数:18  
标签:图论 kamacoder 随想录 42 www 柱状图 https graph path

图论理论基础

大家可以在看图论理论基础的时候,很多内容 看不懂,例如也不知道 看完之后 还是不知道 邻接矩阵,邻接表怎么用, 别着急。
理论基础大家先对各个概念有个印象就好,后面在刷题的过程中,每个知识点都会得到巩固。
https://www.programmercarl.com/kamacoder/图论理论基础.html

深搜理论基础
了解一下深搜的原理和过程
https://www.programmercarl.com/kamacoder/图论深搜理论基础.html

  1. 所有可达路径
    https://www.programmercarl.com/kamacoder/0098.所有可达路径.html
/**
 * @param {number[][]} graph
 * @return {number[][]}
 */
var allPathsSourceTarget = function(graph) {
    const path = [];
    const len = graph.length - 1;
    const res = [];
    const dfs = (graph, x) => {
        if (x === len) {
            res.push([...path]);
            return;
        }

        for (let i=0; i< graph[x].length; i++) {
            path.push(graph[x][i]);
            dfs(graph, graph[x][i]);
            path.pop();
        }
    }
    path.push(0);
    dfs(graph, 0);
    return res;
};

广搜理论基础
https://www.programmercarl.com/kamacoder/图论广搜理论基础.html


标签:图论,kamacoder,随想录,42,www,柱状图,https,graph,path
From: https://www.cnblogs.com/yuanyf6/p/18289106

相关文章

  • 代码随想录算法训练营第55天 | 42. 接雨水 、84.柱状图中最大的矩形
    接雨水接雨水这道题目是面试中特别高频的一道题,也是单调栈应用的题目,大家好好做做。建议是掌握双指针和单调栈,因为在面试中写出单调栈可能有点难度,但双指针思路更直接一些。在时间紧张的情况有,能写出双指针法也是不错的,然后可以和面试官在慢慢讨论如何优化。https://p......
  • 串口电平多种,TLL、232、485、422到底应该如何选择?
    串口通信是电子设备之间进行数据交换的重要方式,其中常见的电平标准包括TTL电平、RS-232电平、RS-485电平和RS-422电平。本文将详细介绍这些电平的由来、原理、特点、优缺点、应用、实现方式及接线方式,帮助各位同学或工程师更好地理解这些通讯基础。TTL电平TTL(Transistor......
  • 14-42 剑和诗人16 - 如何从一个技术人员到CTO再到投资人的角色转变
    ​​​​​​我清楚地记得我的职业轨迹发生转变的那个关键时刻。当时,我正向整个执行领导团队和董事会成员介绍我们部门的技术路线图,感到说服这些有影响力的利益相关者资助一系列雄心勃勃的计划的压力。我知道他们的支持(和资金)将释放变革能力,推动我们公司开启颠覆性增长的下......
  • 「代码随想录算法训练营」第一天(补) | 数组 part1
    704.二分查找题目链接:https://leetcode.cn/problems/binary-search/题目难度:简单文章讲解:https://programmercarl.com/0704.二分查找.html视频讲解:https://www.bilibili.com/video/BV1fA4y1o715题目状态:通过个人思路:就是简单的二分查找思路,判断数组中间的值是否等于目......
  • 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 、 19.删除链表的倒数第N个
    24.两两交换链表中的节点 题目:.-力扣(LeetCode)思路:这题关键是要每次进行两个结点的操作,并且每次都要保存其前结点,做题思路比较清晰,但是总是处理不好边界问题,总是越界。代码:/***Definitionforsingly-linkedlist.*structListNode{*intval;*List......
  • 代码随想录算法训练营第三天 | 203.移除链表元素 、 707.设计链表 、206.反转链表
    203.移除链表元素题目:.-力扣(LeetCode)思路:主要是通过运用虚拟头节点来统一移除元素的写法。代码:/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode......
  • 代码随想录刷题day 4 | 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题
    24.两两交换链表中的节点迭代的版本:最重要的就是要知道循环变量怎么取,对于这道题,我们只需要存储需要交换的两个节点的前一个节点即可,只有当这个节点后面有两个节点时才进入循环,其实把握住这一点之后这题就非常容易了。递归的版本:这道题用递归做简直不要太简单,首先明白递归结束......
  • 【AcWing】842. 排列数字(DFS)
    DFS是树形结构,深度优先搜索。dfs可以算作递归。横线上填和前面不一样的数字。每一次向下探索都一条路走到黑,直到不能走再回溯。#include<iostream>usingnamespacestd;constintN=10;intn;intpath[N];//存放走过的路径boolst[N];//存放1~n哪个数用过了,全局b......
  • 【力扣】每日一题—第242题,有效的字母异位词
    目录题目:开始思路:最后思路:最终代码:题目:给定两个字符串*s*和*t*,编写一个函数来判断*t*是否是*s*的字母异位词。注意:若*s*和*t*中每个字符出现的次数都相同,则称*s*和*t*互为字母异位词。开始思路:判断字母长度,不相等直接返回false,相等再将两个字符串排......
  • 代码随想录算法训练营第五十六天 | 98.所有可达路径
    98.所有可达路径题目链接文章讲解邻接矩阵法邻接矩阵使用二维数组来表示图结构。邻接矩阵是从节点的角度来表示图,有多少节点就申请多大的二维数组为了节点标号和下标对其,有n个节点的图申请(n+1)*(n+1)的空间vector<vector<int>>graph(n+1,vector<int>(n+1,0)......