2023年9月力扣算法和数据结构学习日志

前言

2023年1月决定将力扣作为自己学习算法和数据结构的长期平台。9月20日左右,决定记录下来自己解决力扣编程题的过程(多半是山路十八弯、秃头、白了少年头的过程,菜菜菜!!!)。

这份学习日志争取做到以下三点(flag环节):

  1. 可能格式、形式比较随意,偏流水账,但保证日志内容的清晰准确
  2. 预计更新、维护2年时间(大三、大四
  3. 希望能够完整记录与展现一位普通本科计算机专业学生的学习情况,学习过程,希望对读者有一定的参考价值

以上,完毕。

日志说明:

从今年9月开始,每个月会将自己的学习日志推送到GitHUb仓库GitHub算法和数据结构学习日志,最近几天看了几篇力扣社区的年终总结帖子,决定将Github仓库中的日志记录发到CSDN社区,10月、11月、12月的日志会在这几天发出。

2023年9月算法和数据结构学习日志

9月20日及之前

还没有产生写学习日志的想法,所以没有记录。

9月21日 周四

晚上,学习与思考日志

20:20开始思考力扣编程题

  1. 979. 在二叉树中分配硬币对于此题,自己没有思路,在题解区看到了递归-贡献法,将每枚硬币的移动次数转化为每条边的硬币经过数

    贡献法:路径是由边组成的,所有路径长度之和,等同于把「每条边出现在多少条路径中」相加,这种技巧叫做贡献法

  2. 2681. 英雄的力量,阅读完题目后决定下班啦!!!开溜,开溜!!!先把这题放在脑子中吧

  3. 计划本周思考贡献法编程题

9月22日 周五

早上,学习与思考记录

  1. 2681. 英雄的力量自己写的暴力屎山思路又臭又长,还有逻辑上的bug,看大佬的题解将这题AC了。大佬的思路简洁优雅,对贡献法有深入的理解与运用,还有,怎么有的人模运算写的又臭又长呀!!!
  2. 907. 子数组的最小值之和,初看题目觉得有手就行,结果关于边界问题和确定区间内包含arr[i]的连续子数组个数,还有如何避免重复计算整麻啦!!!菜菜菜!!!看一眼题解:发现需要贡献法+单调栈,于是决定先下班干饭!!!

中午,下午,学习与思考记录

  1. 907. 子数组的最小值之和干完饭后,决定再重新读一下题解,这道题还是要啃下来吧,磕磕绊绊,对着大佬的代码敲,也算是理解了这道题的解题思路

  2. 2281. 巫师的总力量和,看大佬的题解这道题的思路为贡献法+前缀和的前缀和,其中前缀和的前缀和公式推导部分未看懂,故决定这道题先暂时按下不写其实就是菜

  3. 贡献法博客阅读 贡献法:一种数学思维,把要求所有方案数中每一个方案总和的总和 转换成每一个元素i的贡献值乘以总方案数的总和(算法之计算贡献 http://t.csdn.cn/2xSi3)

  4. 1856. 子数组最小乘积的最大值独立AC了这道题,说明自己对于贡献法+单调栈的算法思维有了基本的理解与运用

  5. 891. 子序列宽度之和本题用贡献法`的思维解决非常巧妙,但是怎么有些菜鸡这都还要看题解写呀!!!菜菜菜!!!

    注:强制类型转化的优先级高于四则运算 例如:(long) a+b,先将a转为long再进行+b运算

总结,下班

贡献法是一种巧妙的转化问题的数学思维

贡献法:一种数学思维,把要求所有方案数中每一个方案总和的总和 转换成每一个元素i的贡献值乘以总方案数的总和

16:00下班

9月23日 周六

早上,学习与思考记录

  1. 2860. 让所有学生保持开心的分组方法数上周周赛(第363场周赛)的第2题。是一道排序的思维好题,能否看到看似复杂问题的简单、简洁本质是你需要培养的重要能力,也是你和编程高手的一大差距
  2. 2862. 完全子集的最大元素和上周周赛第4题,一道数学思维的好题,数学思维好差在解决这道题的表现判若云泥!!!
  3. 11:30下班!!!

9月24日 周日

周赛

10:30-12:00参加力扣周赛,解决了2题,以自己现阶段的实力确实不会这场周赛的t3、t4

9月26日 周二

随机一题

随机一题134. 加油站,半小时内没有思路,看看时间快5点啦,下班,干饭!!!

9月28日 周四

补题

14:30开始思考前几天未解决的编程题

  1. 134. 加油站,没有可行的解题思路,于是决定看题解,在一篇题解的评论区看到一种非常简洁优雅的解法,但是自己没有弄懂这种贪心思路为什么是正确的,决定暂时放下此题其实就是菜

  2. 2866. 美丽塔 II,这是上周周赛遗留的题,决定读题解,思路是单调栈+前缀和,对于解题思路理解了,但依然有些代码上的细节不理解,对着大佬的代码敲了一遍然后提交了,太菜啦太菜啦,要学习大佬们分析问题的方法。

下班

16:45下班,干饭!!!

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一路·点燃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值