自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 ACM模式手动构建二叉树

数组每个元素表示二叉树节点的。则为空节点,构建二叉树。

2025-05-11 17:07:57 316

原创 代码随想录算法训练营一刷总结

刚做完算法训练营图论部分的最后一题,这意味着我已经一刷完训练营所有题目,恰巧今天也是程序员节,训练营算是完美完结了。训练营开始一个月后,由于出差和放假搁置了十几天,后面就一天做两天的题量坚持下来了,直到图论章节难度突然变得很大,做题速度又慢下来于是拖了几天最后才完成训练营。训练营完结了,但刷题之路还没到尽头,经过训练营这段时间的专门训练,我感觉自己在理论上掌握了许多算法分章节的知识点,在技能上虽然没有说能够做很难的题,但遇到简单或中等题不会很畏惧了,会去回想知识点并能尽力写成代码,收获多多。

2024-10-24 17:57:09 314 1

原创 代码随想录算法训练营第六十六天| Floyd 算法,A * 算法

训练营六十六天,也是最后一天打卡了,今天解决了图论的最后两个经典问题:一是Floyd 算法用来解决多源最短路,即求多个起点到多个终点的多条最短路径。二是A*算法用来解决搜索最短路问题,尤其可解决带权最短路问题,关键在于。

2024-10-24 17:12:58 474

原创 代码随想录算法训练营第六十五天| Bellman_ford 队列优化算法,bellman_ford之判断负权回路,bellman_ford之单源有限最短路

训练营六十五天打卡,今天学习Bellman_ford算法解决的各个问题,第一题用队列优化,使得算法在稀疏图中拥有更好的时间复杂度。第二题算法松弛n次及以后最短路径值发生变化,可以依据这一点判断负权回路。第三题算法最多经过K个点,记录上一次的minDist数组值进行比较。

2024-10-23 22:08:59 486

原创 代码随想录算法训练营第六十四天| dijkstra(堆优化版),Bellman_ford 算法

训练营六十四天打卡,今天学习了图论中两个经典算法,dijkstra解决有权图(权值非负数)中求从起点到其他节点的最短路径算法,Bellman_ford解决带负权值的单源最短路问题。

2024-10-23 22:02:54 335

原创 代码随想录算法训练营第六十三天| 拓扑排序,朴素dijkstra算法

训练营六十三天图论继续,今天解决了图论的两个经典问题:拓扑排序和最短路的一个解法。

2024-10-22 22:07:59 517

原创 代码随想录算法训练营第六十二天| prim算法,kruskal算法

训练营六十二天打卡,图论比较难,坚持下来胜利就在眼前!

2024-10-21 20:36:33 263

原创 代码随想录算法训练营第五十九天| 并查集理论基础,寻找存在的路径

五十九天打卡,第一次接触并查集理论,学习模板并解决寻找存在的路径问题。

2024-10-16 12:01:57 265

原创 代码随想录算法训练营第五十八天| 110.字符串接龙,105.有向图的完全可达性,106.岛屿的周长

训练营五十八天打卡,图论的代码量比较大,坚持写下来感觉手变热了许多,坚持!

2024-10-15 22:30:53 373

原创 代码随想录算法训练营第五十七天| 101.孤岛的总面积,102.沉没孤岛,103.水流问题,104.建造最大岛屿

五十七天打卡,今天的水流问题和建造最大岛屿问题的优化思路值得学习。

2024-10-15 11:38:13 414

原创 代码随想录算法训练营第五十六天| 99.岛屿数量 深搜,99.岛屿数量 广搜,100.岛屿的最大面积

五十六天打卡,今天知道了图中的深搜与广搜方法,能够熟练应用。

2024-10-14 17:21:58 318

原创 代码随想录算法训练营第五十五天| 图论入门

今天入门图论的基本理论,做了深度优先遍历图的例子。

2024-10-13 17:44:35 548

原创 代码随想录算法训练营第五十三天 | 42. 接雨水,84.柱状图中最大的矩形

五十三天打卡,今天解决单调栈的最后两题。

2024-10-13 15:55:41 427

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

第四十八天打卡,坚持!今天学习了单调栈的知识和其能对应解决的问题。

2024-10-11 11:37:22 263

原创 代码随想录算法训练营第四十六天 | 647. 回文子串,516.最长回文子序列

四十六天打卡,今天用动态规划解决回文问题,回文问题需要用二维dp解决题目链接解题思路没做出来,布尔类型的:表示区间范围[i,j] (注意是左闭右闭)的子串是否是回文子串,如果是为true,否则为false。当s[i]与s[j]不相等,一定是false。当s[i]与s[j]相等时初始化为false。情况三是根据是否为true,在对进行赋值true的。 在 的左下角所以一定要从下到上,从左到右遍历,这样保证都是经过计算的。注意因为的定义,所以j一定是大于等于i的,那么在填充dp[i][j]的时候一定是只填充右上

2024-10-10 20:44:01 605

原创 代码随想录算法训练营第四十五天 | 115.不同的子序列,583. 两个字符串的删除操作,72. 编辑距离

四十五天打卡,今天解决编辑距离问题。

2024-10-10 19:18:27 530

原创 代码随想录算法训练营第四十四天 | 1143.最长公共子序列,1035.不相交的线,53. 最大子序和,392.判断子序列

四十四天补打卡,今天是二维动态规划的应用。

2024-10-09 17:31:16 526

原创 代码随想录算法训练营第四十三天 | 300.最长递增子序列,674. 最长连续递增序列,718. 最长重复子数组

四十三天打卡,今天解决子序列系列题目,定义dp[i]为以nums[i]为结尾的最长子序列长度。

2024-09-27 17:14:38 333

原创 代码随想录算法训练营第四十二天 | 188.买卖股票的最佳时机IV,309.最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费

训练营四十二天打卡,今天结束买票股票,冷冻期的状态定义很关键,要理解为什么要定义四个状态!

2024-09-26 20:39:27 360

原创 代码随想录算法训练营第四十一天 | 121. 买卖股票的最佳时机,122.买卖股票的最佳时机II,123.买卖股票的最佳时机III

训练营第四十一天打卡,今天解决股票买卖问题,动态规划解法关键在于状态定义。

2024-09-26 11:39:57 322

原创 代码随想录算法训练营第三十九天 | 198.打家劫舍 ,213.打家劫舍II,337.打家劫舍III

第三十九天打卡,今天解决打家劫舍系列问题,树形dp比较难。

2024-09-25 01:19:38 439

原创 代码随想录算法训练营第三十八天 | 322. 零钱兑换,279.完全平方数,139.单词拆分,多重背包

【代码】代码随想录算法训练营第三十八天 | 322. 零钱兑换,279.完全平方数,139.单词拆分,多重背包。

2024-09-24 12:47:11 471

原创 代码随想录算法训练营第三十七天 | 完全背包,518. 零钱兑换 II,377. 组合总和 Ⅳ,70. 爬楼梯 (进阶)

多重背包与01背包的区别是,遍历背包容量的顺序变为由小到大遍历,这样在考虑单个物品时可以多次添加到背包。

2024-09-23 16:24:09 473

原创 代码随想录算法训练营第三十六天 | 1049. 最后一块石头的重量 II,494. 目标和,474.一和零

题目链接解题过程dp[j]表示容量(这里说容量更形象,其实就是重量)为j的背包,最多可以背最大重量为dp[j]。求得dp.back()即为值最接近target的重量target为sum / 2,即要求容量为target的背包中,最多装重量为多少的石头。在计算target的时候,因为是向下取整,所以一定是大于等于dp[target]的。01背包public:i++) {j >= 0;j--) {

2024-09-18 21:17:20 368

原创 代码随想录算法训练营第三十五天 | 01背包问题 二维,01背包问题 一维,416. 分割等和子集

三十五天打卡,背包问题入门,之前做过还是比较容易的。

2024-09-18 16:52:57 543

原创 代码随想录算法训练营第三十四天 | 62.不同路径,63. 不同路径 II,343.整数拆分,96.不同的二叉搜索树

三十四天打卡,今天后两题难一些,第三题分为把数拆成两部分或者多部分,第四题分析头节点的值从1到n - 1。

2024-09-16 22:08:13 478

原创 代码随想录算法训练营第三十二天 | 509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯

dp[i - 1] 跳到 dp[i] 需要花费 dp[i - 1] + cost[i - 1]。dp[i - 2] 跳到 dp[i] 需要花费 dp[i - 2] + cost[i - 2]。

2024-09-16 17:53:33 600

原创 代码随想录算法训练营第三十一天 | 56. 合并区间,738.单调递增的数字,968.监控二叉树

三十一天继续打卡,除了第二题有个特殊例子没跑通,其他两题都能知道贪心思路并做出来,贪心真是没什么规律呀!

2024-09-15 18:41:48 343

原创 代码随想录算法训练营第三十天 | 452. 用最少数量的箭引爆气球,435. 无重叠区间,763.划分字母区间

第三十天打卡,不知不觉已经一个月了!今天的题都是重叠区间的题目,由于之前做过还有印象,这次都是比较快的做出来了,不过第三题不看提示还真的想不到是重叠区间的题目,三题的思路都是更新重叠区间的边界。

2024-09-14 11:28:29 316

原创 代码随想录算法训练营第二十九天 | 134. 加油站,135. 分发糖果,860.柠檬水找零,406.根据身高重建队列

频繁的插入操作使用链表效率高。

2024-09-13 17:39:02 937

原创 代码随想录算法训练营第二十八天 | 122.买卖股票的最佳时机II,55. 跳跃游戏,45.跳跃游戏II,1005.K次取反后最大化的数组和

二十八天补打卡,贪心算法的思路能想到,但代码比较难实现。

2024-09-12 22:48:16 292

原创 代码随想录算法训练营第二十七天 | 455.分发饼干,376. 摆动序列,53. 最大子序和

二十七天打卡,今天是贪心算法的第一天,贪心算法没有固定解法,摆动序列这一题要固定判断平坡规则。

2024-09-10 19:23:13 473

原创 代码随想录算法训练营第二十五天 | 491.递增子序列,46.全排列,47.全排列 II,332.重新安排行程,51.N皇后,37.解数独,回溯总结

所以回溯法也经常和二叉树遍历,深度优先搜索混在一起,因为这两种方式都是用了递归。回溯法就是暴力搜索,并不是什么高效的算法,最多再剪枝一下。

2024-09-09 21:16:48 864

原创 代码随想录算法训练营第二十四天 | 93.复原IP地址,78.子集,90.子集II

二十四天继续打卡,今天的93题有几个难点要多复习,子集和组合的区别是要在树的每个节点上收获结果。

2024-09-06 22:04:53 354

原创 代码随想录算法训练营第二十三天 | 39. 组合总和,40.组合总和II,131.分割回文串

二十三天继续打卡,39题是可以用重复的元素,startIndex在回溯中的值不变即可。40题是对相同的元素组合去重,本质是对树层的去重,画一个树就很容易看出来,131题比较难,用startIndex和i之间的区间判断是不是为回文串。

2024-09-05 20:56:12 331

原创 代码随想录算法训练营第二十二天 | 77. 组合,216.组合总和III,17.电话号码的字母组合

训练营二十二天继续刷题。掌握回溯法的模板后,很容易写出来,但剪枝的细节操作和最后一题的小技巧需要多加注意。

2024-09-05 17:10:05 294

原创 代码随想录算法训练营第二十一天 | 669. 修剪二叉搜索树,108.将有序数组转换为二叉搜索树,538.把二叉搜索树转换为累加树,二叉树总结

二叉树的理论基础关于二叉树,你该了解这些!:二叉树的种类、存储方式、遍历方式、定义方式二叉树的遍历方式深度优先遍历二叉树:前中后序递归法:递归三部曲初次亮相二叉树:前中后序迭代法(一):通过栈模拟递归二叉树:前中后序迭代法(二)统一风格广度优先遍历二叉树的层序遍历:通过队列模拟求二叉树的属性二叉树:是否对称递归:后序,比较的是根节点的左子树与右子树是不是相互翻转迭代:使用队列/栈将两个节点顺序放入容器中进行比较二叉树:求最大深度。

2024-09-03 23:08:45 895

原创 代码随想录算法训练营第二十天 | 235. 二叉搜索树的最近公共祖先,701.二叉搜索树中的插入操作,450.删除二叉搜索树中的节点

二十天继续打卡。插入操作不用改变树的结构,删除操作比较麻烦。

2024-09-02 21:06:22 333

原创 代码随想录算法训练营第十八天 | 530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数,236. 二叉树的最近公共祖先

十八天打卡,今天的题技巧性比较强,看答案理解过程,需要多做熟练。

2024-09-01 22:18:03 368

原创 代码随想录算法训练营第十七天 | 654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树

十七天打卡,今天的题比较简单,有昨天做题的基础,654题比较容易,中序遍历下,输出的二叉搜索树节点的数值是有序序列。

2024-09-01 20:55:44 301

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除