傲世尊
码龄4年
关注
提问 私信
  • 博客:13,760
    13,760
    总访问量
  • 58
    原创
  • 76,122
    排名
  • 46
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:法国
  • 加入CSDN时间: 2021-03-06
博客简介:

DetouringSnail的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    211
    当月
    0
个人成就
  • 获得123次点赞
  • 内容获得1次评论
  • 获得15次收藏
创作历程
  • 58篇
    2024年
成就勋章
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

代码随想录算法训练营Final Day|| 感想总结篇+个人介绍和规划

由于代码基础很薄弱,很多普通的语法都是通过卡玛网教材重新复习的,一边做算法题,一边巩固语法,在最开始的几周,甚至每天下班回家,还要花三到四个小时,写到十一点十二点,才能做到不看解答完整地写完所有题目。还依稀记得三数之和,四数之和折磨了我许久。由于经济原因选择欧陆(因为便宜...)不多赘述,一开始考虑了留在法国工作,所以几年前申请了工程师学校,但是在临近毕业时我才发现问题,工程师学校的QS排名实在是太低了,再加上慢慢更倾向于回国卷了,出于学历焦虑,申请了和我本校有合作的米兰理工大学双学位(QS120左右)。
原创
发布博客 2024.08.08 ·
500 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

代码随想录算法训练营Day62|| 图论part11

算是一刷结束了,图论纯走马观花,晚点写个小总结吧。Floyd 算法和Astar算法。
原创
发布博客 2024.08.07 ·
218 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

代码随想录算法训练营Day61 || 图论part 10

Bellman_ford 队列优化算法: 又叫做SPFA, 在做松弛操作时,只更新以目前操作节点为出发点能到达的节点的minDist,避免多余操作。判断负权回路:如果有负权回路,进行第n次松弛的时候,minDist数组会有变化。最多经过k个城市,那么就对所有边进行k+1次松弛即可。
原创
发布博客 2024.08.06 ·
191 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day59 || 图论part 09

Bellman_ford算法精讲,卡玛网94题:变化在于权值出现了负数,用动态规划思想来维护MinDist数组。核心在于对所有边进行n-1次松弛处理,就可以得出起始点到所有节点的最短路径。dijkstra算法(堆优化版):利用小顶堆来减少一层for循环。因为要存储边的权值,邻接表里就需要存pair了。图论章节主打一个走马观花属于是。
原创
发布博客 2024.08.05 ·
227 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day58 || 图论part 08

拓扑排序--卡玛网117软件构建:核心思想是找到入度为0的节点,然后将其移除,如此反复,知道所有节点被移除。删除节点的过程其实是,把被删除节点作为出发点所连接的节点的入读都减一。dijkstra(朴素版)精讲--47参加科学大会: 和prim算法类似,minDist数组不断更新每个节点到源节点的最短距离。同样是代码能看懂,但是自己手写不来,只能一步步抄。图论都是理解还ok,代码真得花时间熟悉啊。
原创
发布博客 2024.08.03 ·
181 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day57|| 图论part06

Prim算法,卡玛网53寻宝:最小生成数的prim算法三部曲。不要不断维护minDist数组,不断遍历该数组,把离树最近的点加入树。记录边的时候有特殊的技巧。kruskal算法:看思路的时候就想到的并查集来判断两点是否在同一个集合。先把边按照val排序,之后判断是否要加入树。代码都能看懂,自己写肯定还是困难。
原创
发布博客 2024.08.02 ·
243 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day56|| 图论part06

卡玛网109冗余链接II:这题的复杂度直接上升了一百个档次,需要准备许多函数待调用。思路必须得极其清楚。第一遍看下来理解了,自己写肯定写不出来,需要看好几遍的题。卡玛网108冗余链接:每输入一条边,检查两个节点是否在同一集合中,如果已经在了,就说明这条边是多余的,直接输出。(如果加入这条边就一定成环了)
原创
发布博客 2024.08.01 ·
209 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day55|| 图论part05

寻找存在的路径:就是并查集的基础应用题,source和destination的根一致则表示有路径。注意,这是个无向图。注意要理解每个函数,尤其是路径压缩的内容,其实不难,但是需要时间消化。建议理解后直接背板。
原创
发布博客 2024.07.31 ·
199 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day54|| 图论part04

算是一题简单的基础题,可以用来巩固邻接表的写法。从节点1开始,把所有能访问到的节点全都标记为true,继续深度搜索。卡玛网106岛屿的周长:这题即不需要深搜,也不需要广搜,题中给出了只有一个岛屿,从陆地的点开始朝四个方向走,遇到水了就说明有一条边,遍历所有的陆地,计算遇到水的次数即可。思路二是计算相邻岛屿的数量来计算边数。卡玛网110字符串接龙:相当于求无向图的最短路径,广搜最合适,因为广搜第一次找到路径一定最短。广搜就要利用队列,代码是能看懂的。能理解就很花时间了,先看懂逻辑和代码,关键基础部分写写吧。
原创
发布博客 2024.07.30 ·
311 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day52|| 图论part03

卡玛网101.孤岛的总面积:注意题目中孤岛的定义,孤岛必须在矩阵内部,因此必须先处理矩阵外部一圈的陆地,再把count初始化为0,再开始处理。注意,矩阵内部两块连在一起的陆地也叫做孤岛。卡玛网102.沉没孤岛:和上面一题类似,先处理矩阵边缘的陆地,把陆地特殊标记为2,之后把内陆为1的陆地全都变成0,把特殊标记的2换成1即可。卡玛网103.水流问题和卡玛网104.最大岛屿还有优化技巧需要看。补了上次岛屿最大面积的代码。图论学起来慢了好多。
原创
发布博客 2024.07.28 ·
208 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day51||图论part02

岛屿数量深搜版(dfs):递归函数的写法,遇到一个陆地后深搜,标记附近所有搜索过的陆地。还需要定义一个方向二维矩阵。看了好久才看懂代码。文章写得有点简单了,硬啃。岛屿数量广搜版(bfs):类似迭代法,需要注意一个非超时写法,在把元素加入队列的时候标记为true避免重复加入。卡玛网100岛屿的最大面积:代码和上面几乎一样,但是需要熟悉一下,目前还不能完整从头写到尾。没有视频,硬啃文章,感觉有点走马观花了。
原创
发布博客 2024.07.27 ·
191 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day50||图论part01

卡玛网98.所有可达到路径:和力扣797.所有可能的路径一致。邻接表和邻接矩阵的写法都要掌握。先写了一遍邻接矩阵写法,算是先熟悉了一下代码。先熟悉一些图论基础,以及搜索理论基础。深度优先搜索理论基础类似于回溯算法(递归法),广度优先搜索就类似于迭代法。深度搜索三部曲也和回溯算法类似。昨天的题补完啦~最后熟悉了一下单调栈。今天开始没视频看了,只能啃文字了。
原创
发布博客 2024.07.26 ·
215 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day49||单调栈part02

84.柱状图中的最大矩形:和接雨水区别在于,求相邻比自己小的元素,一个一个求矩形面积。由于题目的特殊性,还需要首位加0。思路get了~代码明天写吧~42.接雨水:单调栈的终极题目,理解思路后自己写还是有些小错误,注意避免非法操作。今天先这样,单调栈提比较少,后面图论只能啃文字了。
原创
发布博客 2024.07.25 ·
201 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day48||单调栈part01

503.下一个更大的元素II: 第一个求解思路是在数组后面重新接一个一样的数组来模拟环。设计到成环的思路,都可以利用取模法。注意把i都换成i%size以避免在求nums[i]的时候越界。739.每日温度:单调栈能处理的问题注意就是找到靠左或靠右第一个比它大或小的元素。单调栈如果递增,则是求第一个比它大的数;递减则是求第一个比它小的数。理解了实现的过程之后,没有什么难的地方,甚至都没有真的写实现单调栈的代码。469.下一个更大的元素:求那个数组左/右边最大的元素,就遍历哪个数组。
原创
发布博客 2024.07.24 ·
193 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day47||动态规划part13

516.最长回文子序列:这题也不难。第一次看题解的时候很疑惑,万一 i+1不小心大于j-1了怎么办,后来一想,反正这个值为0,加2之后刚好是2,正好是需要的结果,竟然完全不影响,所以不用处理这个问题。除此之外,遍历顺序和上一题一样,理解之后也是一遍过。647.回文子串:dp数组的定义方式很有技巧性,相应的,遍历顺序也是需要注意。今天累了,动态规划总结就先不写了,完结撒花。注意字串一定要连续,子序列可以不连续。
原创
发布博客 2024.07.23 ·
207 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day45||动态规划 part 12

583.两个字符串的删除操作:同样两个难点:递推公式的理解+初始化。终于开始慢慢学会根据定义初始化数组了。还有遍历的时候注意边界时<=size。115.不同的子序列:开始有点难度了,递推公式如何删除元素需要注意,如何初始化也是个小难点。72.编辑距离:已经学会举一反三了,这题就是上面那题改了一行代码,描述了替换操作。
原创
发布博客 2024.07.21 ·
203 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day44||动态规划 part 11

1143.最长公共子序列:关于两个数组的子序列问题,通常是定义二维dp数组,并且为了简化初始化,dp[i][j]往往对于i-1和j-1的下表。和上一题718最长重复子数组很类似,区别在于子序列可以不连续,如果比较中字符不相等,要继承dp[i][j-1]的值或者dp[i-1][j]的值。动态规划思路更好理解,注意这题的dp数组定义是包括了i这一位元素的,因此最好的result需要遍历出数组中最大的值,是个易错点。区别在于在发现元素不同时,只需要删除较长的数组里的元素,保留较短数组的元素。
原创
发布博客 2024.07.20 ·
170 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day43||动态规划part10

300.最长递增子序列:要注意dp数组的定义,dp[i]指包括nums[i]的最长子序列长度,因此最后的result是dp数组里元素的最大值。其次,初始化要注意,所有元素初始化为1,因为最起码升序数组可以包含元素本身。718.最长重复子数组:最难的部分在于定义dp数组,是我想不到的定义方式了。之后的递推公式,初始化,遍历顺序,都很容易理解。674.最长连续递增序列:达成不看视频就解答的成就。仅仅就是把递推公式逻辑变成,当前元素大于前一个元素即可。
原创
发布博客 2024.07.19 ·
204 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day42||动态规划part09

动态规划解法最关键在于拆分状态,基本状态有持有股票和不持有股票,可以衍生为第k次持有和第k次不持有,理解好各个状态之间的递推关系,就能解决问题。309.买卖股票的最佳时机含冷冻期:需要具体分为四个状态,最主要在于拆分“不持有股票/卖出股票”这个状态,以便在数组中展示出冷冻期的操作。714.买卖股票的最佳时机含手续费:基本就是买卖股票II的变换,在递推公式里扣除手续费即可。188.买卖股票的最佳时机IV:就是把买卖股票III换成了更加通解的模式,想清楚递归和初始化的逻辑,注意二维dp数组大小不要定义反即可。
原创
发布博客 2024.07.18 ·
217 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

代码随想录算法训练营Day41|| 动态规划part08

121.买卖股票的最佳时机:可以暴力for循环两层,也可以使用贪心算法,每次左边取最小的数,右边取尽量最大的数。由于只能购买一次,一旦持有股票,要么是首次买入,值为-prices[i],要么是维持前一天。这个点会体现和其他股票题的区别!123.买卖股票的最佳时机III: 规定了只能买卖两次,因此要确立四个不同状态:第一次持有,第一次不持有,第二次持有,第二次不持有,反复维护这4个数,是个n*4的数组。和股票I的区别在于可以多次购买,唯一需要改动的就是每天持有股票的现金数和前一天不持有股票的现金数有关了。
原创
发布博客 2024.07.17 ·
333 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏
加载更多