E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
算法训练
代码随想录
算法训练
营Day61 || 图论part 10
Bellman_ford队列优化算法:又叫做SPFA,在做松弛操作时,只更新以目前操作节点为出发点能到达的节点的minDist,避免多余操作。判断负权回路:如果有负权回路,进行第n次松弛的时候,minDist数组会有变化。最多经过k个城市,那么就对所有边进行k+1次松弛即可。
傲世尊
·
2024-08-30 12:06
图论
代码随想录
算法训练
营Day62|| 图论part11
学习计划链接代码随想录
算法训练
营39期(qq.com)
傲世尊
·
2024-08-30 12:06
图论
算法
代码随想录
算法训练
营Day52|| 图论part03
补了上次岛屿最大面积的代码。图论学起来慢了好多。卡玛网101.孤岛的总面积:注意题目中孤岛的定义,孤岛必须在矩阵内部,因此必须先处理矩阵外部一圈的陆地,再把count初始化为0,再开始处理。注意,矩阵内部两块连在一起的陆地也叫做孤岛。卡玛网102.沉没孤岛:和上面一题类似,先处理矩阵边缘的陆地,把陆地特殊标记为2,之后把内陆为1的陆地全都变成0,把特殊标记的2换成1即可。卡玛网103.水流问题和卡
傲世尊
·
2024-08-30 12:35
算法
图论
代码随想录
算法训练
营Day54|| 图论part04
图论部分就先不手写代码了。能理解就很花时间了,先看懂逻辑和代码,关键基础部分写写吧。卡玛网110字符串接龙:相当于求无向图的最短路径,广搜最合适,因为广搜第一次找到路径一定最短。广搜就要利用队列,代码是能看懂的。注意创建visitmap记录访问状态,访问过的字符不添加进队列。卡玛网105有向图的完全可达性:这是个有向图搜索全路径的问题。算是一题简单的基础题,可以用来巩固邻接表的写法。注意key所代
傲世尊
·
2024-08-30 12:35
算法
图论
代码随想录
算法训练
营第二天 | 数组part02:209.长度最小的子数组 ,59.螺旋矩阵II ,区间和,开发商购买土地
209.长度最小的子数组classSolution{public:intminSubArrayLen(inttarget,vector&nums){intslow=0,fast=0,size=nums.size();intsum=0;queueqe;intres=INT_MAX;while(fast=target){if(res>qe.size()){res=qe.size();}sum-=qe.
白羊TUT
·
2024-08-30 06:03
算法
矩阵
java
代码随想录
算法训练
营第1天 | 题目704、题目27
代码随想录
算法训练
营第1天|题目704、题目27文章来源:代码随想录视频来源:视频题目名称:704.二分查找给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums
Further0356
·
2024-08-29 17:04
算法
代码随想录
算法训练
营第二十九天 | 贪心算法 part03
134.加油站贪心策略:1.如果每个加油站的剩余油量总和小于0,说明不存在可以绕一圈的情况2.在遍历加油站的过程中,当剩余油量和小于0时,说明此时的初始位置油量不能支持,因此更新初始位置到下一个加油站。classSolution{public:intcanCompleteCircuit(vector&gas,vector&cost){intrestSum=0;intstart=0;intcurSu
sagen aller
·
2024-08-29 17:33
算法
贪心算法
代码随想录
算法训练
营第三十七天| LeetCode738.单调递增的数字
LeetCode738单调递增的数字题目链接:738.单调递增的数字-力扣(LeetCode)【解题思路】需要采用从后往前的遍历如果发现该数字的前一位比后一位大,那么前一位就做-1处理,后一位变为9注意:千万不要将start初始化成0!!因为如果if逻辑没有走到,那么下面的for循环会从0开始将所有位的数值赋值成0!!!【解题步骤】1.将传进来的int值转化为String类型,目的是为了方便遍历2
小救星小然
·
2024-08-29 08:37
算法
代码随想录
算法训练
营第三十三天| LeetCode1005.K次取反后最大化的数组和、LeetCode134. 加油站、LeetCode135. 分发糖果
#LeetCode1005.MaximiseSumOfArrayAfterKNegations#LeetCode1005.视频讲解:贪心算法,这不就是常识?还能叫贪心?LeetCode:1005.K次取反后最大化的数组和_哔哩哔哩_bilibili这个题目中用到了两次局部最优,第一次是在先用k将数组中绝对值大的负数转换为正数,这样保证了局部最优。之后又使用k剩余的次数用在绝对值最小的数值上,这是第
wIridescent-
·
2024-08-29 08:37
算法
代码随想录
算法训练
营第七天| LeetCode454.四数相加II、LeetCode383. 赎金信、LeetCode15. 三数之和、LeetCode18. 四数之和
#LeetCode454.4SumII#LeetCode454.视频讲解:学透哈希表,map使用有技巧!LeetCode:454.四数相加II_哔哩哔哩_bilibili解题思路类似TwoSum题目,区别在于哈希映射的(key,value)分别代表什么。将a和b相加,c和d相加后遍历,相比于暴力解决方法的,这样的时间复杂度为。类似求两个数的和为0,将a和b的和映射在哈希数组中,因为此题不需要去除重
wIridescent-
·
2024-08-29 08:07
算法
代码随想录
算法训练
营Day32||Leetcode56. 合并区间、 738.单调递增的数字、
一、合并区间简简单单,过了。先排序然后从第二组数据遍历数组,让后者的左边界为前二的最小值,右边界为前二的最大值,最后遇到不重叠返回前一组数据。最后把数组最后一个元素返回即可。classSolution{public:vector>result;vectorpath;staticboolcmp(vector&a,vector&b){if(a[0]==b[0])returna[1]>merge(vec
jiegongzhu3z
·
2024-08-29 08:06
算法
数据结构
代码随想录
算法训练
营第三十七天| 56. 合并区间、738. 单调递增的数字、968. 监控二叉树
[LeetCode]56.合并区间[LeetCode]56.合并区间文章解释[LeetCode]56.合并区间视频解释题目:以数组intervals表示若干个区间的集合,其中单个区间为intervals[i]=[starti,endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。示例1:输入:intervals=[[1,3],[2,6],[8,10],[
dreamtang
·
2024-08-29 08:36
LeetCode
算法学习
算法
【代码随想录
算法训练
营第42期 第三十一天 | LeetCode56. 合并区间、738.单调递增的数字】
代码随想录
算法训练
营第42期第三十一天|LeetCode56.合并区间、738.单调递增的数字一、56.合并区间解题代码C++:classSolution{public:vector>merge(vector
天.真
·
2024-08-29 08:06
算法
数据结构
代码随想录
算法训练
营第九天 | LeetCode 28
文章目录前言一、LeetCode28总结前言LeetCode题目:LeetCode28Takeaway:KMP算法。一、LeetCode28经典KMP算法题,理解很重要。我自己的理解是KMP其实用了回溯+动态规划的思路来减少无用功,让已经匹配过的字符串可以复用。classSolution{public:voidgetNext(int*next,conststring&s){//j就是前缀串的末尾i
Bingjiaokong
·
2024-08-29 08:05
随想录刷题
leetcode
算法
职场和发展
代码随想录
算法训练
营第三天 203.移除链表元素、 707.设计链表 、206.反转链表
代码随想录
算法训练
营第三天|203.移除链表元素、707.设计链表、206.反转链表203.移除链表元素代码随想录视频两种方式,一种是有虚拟头结点的,另一种是没有虚拟头结点的没有虚拟头结点需要注意的是删除头结点和非头结点操作方法不一致
咸鱼的自我变强之路
·
2024-08-29 04:38
代码随想录_刷题
链表
算法
数据结构
代码随想录
算法训练
营第 56 天 |寻找存在的路径
代码随想录
算法训练
营Day55代码随想录
算法训练
营第55天|寻找存在的路径目录代码随想录
算法训练
营前言寻找存在的路径一、并查集基础1、并查集解决什么问题2、并查集主要实现两个功能:3、数据结构4、并查集将两个元素添加到一个集合中
HIT最菜电控
·
2024-08-29 04:06
代码随想录算法训练营
算法
leetcode
图论
代码随想录
算法训练
营第18天 | 第六章 二叉树 part08
第六章二叉树-Part08目录669.修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树总结篇669.修剪二叉搜索树这道题目比较难,比添加、增加和删除节点难得多,建议先看视频理解。这题虽然看起来比较难,但是实际思路并不难,一层层的往下遍历,遇见在范围内的保留,遇见不在范围内的删除掉,如果root(当前节点)的元素小于low的数值,那么应该递归右子树,并返回右子树符合条
tt555555555555
·
2024-08-28 17:48
C++学习
学习笔记
算法
leetcode
笔记
学习
c++
数据结构
Python绘制表格数据线性对比图
本文介绍了如何使用Python代码生成
算法训练
结果的线性结果对比图,适用于论文中展示实验效果。
crazy121121
·
2024-08-26 20:05
python
数据分析
代码随想录
算法训练
营第二十天|654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树
654.最大二叉树又是构造二叉树,昨天大家刚刚做完中序后序确定二叉树,今天做这个应该会容易一些,先看视频,好好体会一下为什么构造二叉树都是前序遍历题目链接/文章讲解:https://programmercarl.com/0654.%E6%9C%80%E5%A4%A7%E4%BA%8C%E5%8F%89%E6%A0%91.html视频讲解:https://www.bilibili.com/video
风之彼端
·
2024-08-25 21:54
算法训练营
算法
代码随想录
算法训练
营第四天|24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II
24.两两交换链表中的节点用虚拟头结点,这样会方便很多。本题链表操作就比较复杂了,建议大家先看视频,视频里我讲解了注意事项,为什么需要temp保存临时节点。题目链接/文章讲解/视频讲解:https://programmercarl.com/0024.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8
风之彼端
·
2024-08-25 21:24
算法训练营
算法
链表
面试
代码随想录
算法训练
营第22天-leetcode-二叉树08:669. 修剪二叉搜索树;108.将有序数组转换为二叉搜索树;538.把二叉搜索树转换为累加树
669.修剪二叉搜索树力扣题目链接(opensnewwindow)给定一个二叉搜索树,同时给定最小边界L和最大边界R。通过修剪二叉搜索树,使得所有节点的值在[L,R]中(R>=L)。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。分析:需要遍历整棵树,因为父节点被删除或者保留,子节点都有可能删除或者保留;父节点被删除时,左子树和右子树只可能保留一个我的做法:后序遍历每个节
树懒爱沙发
·
2024-08-25 19:16
算法
leetcode
职场和发展
代码随想录
算法训练
营day51:图论02:99. 岛屿数量;100. 岛屿的最大面积
99.岛屿数量卡码网题目链接(ACM模式)(opensnewwindow)题目描述:给定一个由1(陆地)和0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。你可以假设矩阵外均被水包围。输入描述:第一行包含两个整数N,M,表示矩阵的行数和列数。后续N行,每行包含M个数字,数字为1或者0。输出描述:输出一个整数,表示岛屿的数量。如果不存在岛屿,则
树懒爱沙发
·
2024-08-25 16:27
算法
图论
数据结构
代码随想录
算法训练
营day45:动态规划part12:115.不同的子序列;583. 两个字符串的删除操作;72. 编辑距离
目录115.不同的子序列分析:583.两个字符串的删除操作72.编辑距离115.不同的子序列力扣题目链接(opensnewwindow)给定一个字符串s和一个字符串t,计算在s的子序列中t出现的个数。字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE"是"ABCDE"的一个子序列,而"AEC"不是)题目数据保证答案符合32位带符号整数
树懒爱沙发
·
2024-08-25 16:57
算法
动态规划
leetcode
数据结构
代码随想录
算法训练
营第43天:动态规划part10:子序列问题
300.最长递增子序列力扣题目链接(opensnewwindow)给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是[2,3,7,101],因
树懒爱沙发
·
2024-08-25 16:27
算法
动态规划
代码随想录
算法训练
营day64 | 98. 所有可达路径
图论理论基础1、图的种类整体上一般分为有向图和无向图。加权有向图,就是图中边是有权值的,加权无向图也是同理。2、度无向图中有几条边连接该节点,该节点就有几度在有向图中,每个节点有出度和入度。出度:从该节点出发的边的个数。入度:指向该节点边的个数。3、连通性在图中表示节点的连通情况,我们称之为连通性连通图和强连通图在无向图中,任何两个节点都是可以到达的,我们称之为连通图。如果有节点不能到达其他节点,
sunflowers11
·
2024-08-25 16:55
代码随想录二刷
算法
代码随想录
算法训练
营Day50||图论part01
昨天的题补完啦~最后熟悉了一下单调栈。今天开始没视频看了,只能啃文字了。先熟悉一些图论基础,以及搜索理论基础。深度优先搜索理论基础类似于回溯算法(递归法),广度优先搜索就类似于迭代法。深度搜索三部曲也和回溯算法类似。卡玛网98.所有可达到路径:和力扣797.所有可能的路径一致。先熟悉ACM模式。邻接表和邻接矩阵的写法都要掌握。先写了一遍邻接矩阵写法,算是先熟悉了一下代码。
傲世尊
·
2024-08-25 15:22
算法
图论
代码随想录
算法训练
营19-回溯1
77.组合画出来的树是这样记录所有组合,一个变量current装当前的处理结果,一个res装所有的处理的结果回溯三部曲:参数:给定两个整数n和k,以及每层for循环的起点终止条件:current里面的数量==k,就把current收割,并return每层处理的逻辑for循环的起点:startIndex;for循环的终点:arr.length每次处理的逻辑:current.add(arr[i])ba
小马超会养兔子
·
2024-08-23 15:49
算法
算法
java
数据结构
代码随想录
算法训练
营Day51 | 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
代码随想录
算法训练
营Day51|300.最长递增子序列674.最长连续递增序列718.最长重复子数组LeetCode300.最长递增子序列题目链接:LeetCode300.最长递增子序列思路:选取最长子序列
qq_24817679
·
2024-08-22 18:13
算法
代码随想录
算法训练
营第43天| 300.最长递增子序列 、674. 最长连续递增序列 、718. 最长重复子数组
300.最长递增子序列题目链接:300.最长递增子序列思路:每访问到一个元素时要把它前面的元素都遍历一遍来更新这个元素的最长递增子序列长度。动规五部曲:1.确定dp[i]数组下标及其含义:结尾为nums[i]时最长递增子序列的长度2.递推公式:if(nums[i]&nums){vectordp(nums.size(),1);intres=1;for(inti=1;inums[j])dp[i]=ma
煤球小黑
·
2024-08-22 18:42
算法
leetcode
动态规划
代码随想录
算法训练
营第三十五天| 121. 买卖股票的最佳时机,122.买卖股票的最佳时机II,123.买卖股票的最佳时机III
今天是动态规划算法学习的第八天,也是买卖股票的一天。涉及到了使用多维数组来表示不同的状态,然后进行状态转移。121.买卖股票的最佳时机题目链接:121.买卖股票的最佳时机-力扣(LeetCode)这个题目是给出一个数组表示股票每天的价格,只能进行一次股票的买卖。求解所能获得的最大利润。我自己的做法是用前缀和,求每个数右边最大的数,然后求最大的差值。具体代码如下所示:classSolution{pu
无敌的平衡步兵
·
2024-08-22 17:42
算法打卡
算法
数据结构
动态规划
贪心算法
leetcode
代码随想录
算法训练
营第二十一天| 39. 组合总和, 40.组合总和II, 131.分割回文串
今天是回溯算法学习的第二天,主要的学习内容包括:1.组合问题的重复使用2.组合问题的去重3.分割问题的处理方法。39.组合总和题目链接:39.组合总和-力扣(LeetCode)这个组合问题的特点是,集合内的元素可以重复使用。与前面组合问题的区别在于,在每一次回溯中,不是从i+1的位置开始穷举,而是从i开始穷举。这样就满足元素重复使用的要求。对于剪枝操作,这个题的做法是如果求和的结果已经大于目标值,
无敌的平衡步兵
·
2024-08-22 17:12
算法打卡
算法
数据结构
leetcode
职场和发展
剪枝
代码随想录
算法训练
营第三十七天|300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
300.最长递增子序列classSolution:deflengthOfLIS(self,nums:List[int])->int:iflen(nums)nums[j]:dp[i]=max(dp[i],dp[j]+1)result=max(result,dp[i])#取长的子序列returnresult674.最长连续递增序列classSolution:deffindLengthOfLCIS(se
Ibelievesnape
·
2024-08-22 17:08
代码随想录算法训练营
算法
代码随想录
算法训练
营day6|哈希表part1
今天开始学习哈希表了,给我的感觉就是把所有数据存在表里,然后通过索引来查找比对数据。这样的优点是可以把时间复杂度O(n)的题目,只需要O(1)就可以做到。还有对应的哈希函数:但是如果给入的数值大于哈希表的大小,就引入了一个新的概念叫做哈希碰撞。第一种办法就是在冲突处使用链表,就可以把小李和小王的数据都存在索引为1的链表中。第二种就是要求tableSize大于dataSize的时候,哈希表可以将冲突
翼1001
·
2024-08-22 06:03
散列表
哈希算法
数据结构
代码随想录
算法训练
营Day47||动态规划part13
647.回文子串:dp数组的定义方式很有技巧性,相应的,遍历顺序也是需要注意。注意字串一定要连续,子序列可以不连续。516.最长回文子序列:这题也不难。第一次看题解的时候很疑惑,万一i+1不小心大于j-1了怎么办,后来一想,反正这个值为0,加2之后刚好是2,正好是需要的结果,竟然完全不影响,所以不用处理这个问题。除此之外,遍历顺序和上一题一样,理解之后也是一遍过。今天累了,动态规划总结就先不写了,
傲世尊
·
2024-08-22 06:59
算法
动态规划
代码随想录
算法训练
营Day43||动态规划part10
300.最长递增子序列:要注意dp数组的定义,dp[i]指包括nums[i]的最长子序列长度,因此最后的result是dp数组里元素的最大值。其次,初始化要注意,所有元素初始化为1,因为最起码升序数组可以包含元素本身。674.最长连续递增序列:达成不看视频就解答的成就。仅仅就是把递推公式逻辑变成,当前元素大于前一个元素即可。718.最长重复子数组:最难的部分在于定义dp数组,是我想不到的定义方式了
傲世尊
·
2024-08-22 06:28
算法
动态规划
代码随想录
算法训练
营Day38||动态规划part06
322.零钱兑换:完全背包之装满一个背包的最少物品件数是多少。由于取最小值,数组初始化时,除了dp[0]都初始化为最大值。遍历顺序和组合排列无关,先遍历哪个都可以。注意顺序是从前到后,是一维数组的正常从前往后递推。279.完全平方数:和上面一题本质一模一样。注意边界即可。139.单词拆分:可以用回溯算法章节分割回文串的暴力搜索方式。这题必须先遍历背包再遍历物品,因为所求结果和排列有关。这题类似背包
傲世尊
·
2024-08-22 06:58
算法
动态规划
代码随想录
算法训练
营Day40|| 动态规划part07
多重背包:相比零一背包和完全背包就是限制了物品的数量。实际上把规定了数量的物品拆开成单独的物品就直接转化成了零一背包问题,面试时不会考,暂时不看了。198打家劫舍:理解了递推公式后非常简单!213打家劫舍II:可以去头去尾计算两个result取最大值,转换为基础打家劫舍问题。337打家劫舍III:暴力解法+记忆化递归方法先跳过。本题综合了二叉树的遍历和动态规划,经典的二叉树后序遍历,状态一步一步向
傲世尊
·
2024-08-22 06:58
算法
动态规划
代码随想录
算法训练
营Day41|| 动态规划part08
121.买卖股票的最佳时机:可以暴力for循环两层,也可以使用贪心算法,每次左边取最小的数,右边取尽量最大的数。动态规划方法注意dp数组的含义,持有为0,不持有为1。由于只能购买一次,一旦持有股票,要么是首次买入,值为-prices[i],要么是维持前一天。这个点会体现和其他股票题的区别!122.买卖股票的最佳时机II:之前用过贪心的思路解决这道题,比动态规划简单。今天主要为了动态规划股票题的循序
傲世尊
·
2024-08-22 06:58
算法
动态规划
代码随想录
算法训练
营Day42||动态规划part09
188.买卖股票的最佳时机IV:就是把买卖股票III换成了更加通解的模式,想清楚递归和初始化的逻辑,注意二维dp数组大小不要定义反即可。309.买卖股票的最佳时机含冷冻期:需要具体分为四个状态,最主要在于拆分“不持有股票/卖出股票”这个状态,以便在数组中展示出冷冻期的操作。理解递推原理之后并不难,不强求压缩数组了。714.买卖股票的最佳时机含手续费:基本就是买卖股票II的变换,在递推公式里扣除手续
傲世尊
·
2024-08-22 06:58
算法
动态规划
代码随想录
算法训练
营第十三天 | 二叉树理论基础、递归遍历、迭代遍历、统一迭代、层序遍历
一、二叉树理论基础文章讲解:代码随想录(programmercarl.com)——二叉树理论基础视频讲解:关于二叉树,你该了解这些!|二叉树理论基础一网打尽,二叉树的种类、二叉树的存储方式、二叉树节点定义、二叉树的遍历顺序_哔哩哔哩_bilibili1.种类满二叉树:节点数量。完全二叉树:底部从左到右。二叉搜索树:左子树所有节点小于中间节点,右子树所有节点大于中间节点,时间复杂度为log(n)。平
Cedric7
·
2024-08-22 05:53
代码随想录算法训练营
算法
数据结构
代码随想录
算法训练
营第二十二天 | 回溯理论基础、77. 组合、216.组合总和III、17.电话号码的字母组合
一、回溯理论基础文章讲解:代码随想录(programmercarl.com)——回溯理论基础视频讲解:带你学透回溯算法(理论篇)|回溯法精讲!_哔哩哔哩_bilibili1.解决问题(1)组合问题:N个数里面按一定规则找出k个数的集合;(2)切割问题:给一个字符串,问右几种切割方式;(3)子集问题:N个数有多少个符合条件的子集;(4)排列问题:强调元素顺序;(5)棋盘问题:N皇后,解数独等。2.如
Cedric7
·
2024-08-22 05:53
代码随想录算法训练营
算法
代码随想录
算法训练
营第十六天 | 513.找树左下角的值、112. 路径总和+113. 路径总和ii、106.从中序与后序遍历序列构造二叉树+105.从前序与中序遍历序列构造二叉树
一、513.找树左下角的值题目链接:513.找树左下角的值-力扣(LeetCode)文章讲解:代码随想录(programmercarl.com)——513.找树左下角的值视频讲解:怎么找二叉树的左下角?递归中又带回溯了,怎么办?|LeetCode:513.找二叉树左下角的值_哔哩哔哩_bilibili1.层序遍历"""层序遍历,返回最后一组数组的第1个元素"""#Definitionforabin
Cedric7
·
2024-08-22 05:22
代码随想录算法训练营
数据结构
代码随想录
算法训练
营第五十一天 | 99. 岛屿数量 深搜、99. 岛屿数量 广搜、100. 岛屿的最大面积
一、99.岛屿数量深搜题目链接:99.岛屿数量(kamacoder.com)文章讲解:代码随想录(programmercarl.com)——99.岛屿数量深搜思路:每遇到一个陆地(1),从当前位置开始深搜,如果访问过则标记为“True”,即表示访问过,每进行一次深搜,岛屿数量+1。#定义四个方向,上右下左dir=[[0,1],[1,0],[0,-1],[-1,0]]#1.确定递归函数和参数#gri
Cedric7
·
2024-08-22 05:22
代码随想录算法训练营
图论
算法
代码随想录
算法训练
营第五十三天 | 101. 孤岛的总面积、102. 沉没孤岛、 103. 水流问题、 104. 建造最大岛屿
一、101.孤岛的总面积题目链接:101.孤岛的总面积(kamacoder.com)文章链接:代码随想录(programmercarl.com)——101.孤岛的总面积二、102.沉没孤岛题目链接:102.沉没孤岛(kamacoder.com)文章链接:代码随想录(programmercarl.com)——102.沉没孤岛三、103.水流问题题目链接:103.水流问题(kamacoder.com)
Cedric7
·
2024-08-22 05:22
代码随想录算法训练营
算法
图论
代码随想录
算法训练
营第三十一天|455.分发饼干、376. 摆动序列、 53. 最大子序和
文档讲解:455.分发饼干、376.摆动序列、53.最大子序和题目链接:455.分发饼干、376.摆动序列、53.最大子序和思路:今天开始了贪心的题目,贪心的题目要么比较简单,要么就很难,找不到头绪,今天的题目还是相对简单一些的。第三题中最难想的一个点就是,如果sum=0;i--){if(cookie>=0&&s[cookie]>=g[i]){res++;cookie--;}}returnres;
Eugene Tsui
·
2024-03-26 00:43
算法
代码随想录
算法训练
营DAY4| C++|LeetCode|24.两两交换链表中的结点、19.删除链表的倒数第N个结点、面试题 02.07. 链表相交、142.环形链表II
文章目录24.两两交换链表中的结点主要思路cpp代码19.删除链表的倒数第N个结点主要思路CPP代码面试题02.07.链表相交基本思路CPP代码142.环形链表II主要思路CPP代码24.两两交换链表中的结点力扣题目链接文章链接:24.两两交换链表中的结点视频链接:帮你把链表细节学清楚!|LeetCode:24.两两交换链表中的节点状态:第一次提交报错RE,主要原因在于循环条件没把握好。对空指针尽
Che3rry
·
2024-03-24 03:49
算法
c++
代码随想录
算法训练
营第三天 | 203.移除链表元素,707.设计链表 206.反转链表
203.移除链表元素https://leetcode.cn/problems/remove-linked-list-elements/description/1.不带表头法因为是不带表头的,所以要区分两种情况,第一种是要删除的链表元素就是表头的元素,这里假设有多个要删除的元素,所以应该是while(head!=NULL&&head->val==val)用的是while循环的方式,而不是If的形式,
B七.七.七J
·
2024-03-19 18:00
算法
链表
数据结构
代码随想录
算法训练
营第四十七天|198.打家劫舍, 213.打家劫舍II , 337.打家劫舍III
198.打家劫舍https://leetcode.com/problems/house-robber/description/思路:经典的动态规划问题,首先确定dp数组记录的是打劫到第i家时的收获,dp[0]=0,dp[1]=values[0].然后到第i家有两个选择,一个是打劫第i家,最大收益是dp[i-2]+values[i-1],或者不打劫第i家最大收益是dp[i-1]。所以递归方程是dp[
Samuel_88
·
2024-03-18 16:56
算法训练营
算法
动态规划
Day2|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
代码随想录
算法训练
营Day2|977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II.mdLeetCode977.有序数组的平方思路利用python的sort方法,先平方,再排序。
Jiahui_0020
·
2024-03-17 05:40
代码随想录算法训练营
leetcode
二刷代码随想录
算法训练
营第二十三天 | 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
目录一、669.修剪二叉搜索树二、108.将有序数组转换为二叉搜索树三、538.把二叉搜索树转换为累加树一、669.修剪二叉搜索树题目链接:力扣文章讲解:代码随想录视频讲解:你修剪的方式不对,我来给你纠正一下!|LeetCode:669.修剪二叉搜索树题目:给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在[low,high]中。修剪树
magic bamboo
·
2024-03-16 22:30
算法
leetcode
数据结构
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他