【小羊肖恩】我的一份年终总结 —— 趁着 Rating 的 New Peak
16563
2022.12.08
2022.12.28
发布于 未知归属地

去掉那些没有刷题的日子也算是在力扣做题做了一年了,去年的我应该想不到我比去年厉害了那么多了吧哈哈!(大言不惭了属于是)那就简单做个年终总结吧!

一、一些小小的数据以及故事的总结

(一)刷的题

image.png

过去的一年大概做了至少 道力扣上的题目,主要集中在 月,由于那段时间是上半学期,是我对于数据结构与算法进行初步学习的一段时期。那段时间选择修了校内的数据结构与算法课,逐渐对基本的数据结构有了了解,并产生了兴趣,以此为契机做了不少题目。而从 月起开始坚持每日一题至今,获得了不少打卡勋章。

(二)竞赛(周赛与双周赛)

image.png

image.png

image.png

去年的我应该不会想到自己有机会拿奖品吧哈哈哈!这一年从 月中旬起参与了每一场周赛和双周赛,其中排名情况大致如上(由于一些场次只提交了一题之后没空所以排名非常突兀),进行取对数处理后也发现了自己的进步。

在周赛里面也经历了很多挫折和狂喜的日子,包括一周连跌 分,包括卡在 的三四周后突然又掉了五六十分,也包括第一次跻身单场周赛国服前百,第一次跻身 国服前百,第一次拿到单场周赛 甚至

一次次比赛中也发现,自己逐渐从一个只知道基本语法的算法小白,变成了一个对一些略有拓展的题目能有所反应的算法爱好者。看着画出来的趋势线也是很有成就感的事情!

(三)一起学算法的朋友们

在今年 月中旬,通过论坛中帖子得知了残酷刷题群的存在,衡量了很久最终决定加入,来进行对自己的一种挑战,在群里也认识了很多朋友,也在杭州和北京跟一些当地的群友吃了饭,认识到了很多大佬哈哈哈!大家每天在群里的讨论也让我觉得学习算法的路上并不孤单(虽然一些懒羊羊已经好久不打卡了可恶)。然后周赛的残酷群排名也给了我更强的激励,让我更愿意提升自己的算法水平。

除此外,还有一次在周赛的评论区看到灵神 @灵茶山艾府 的刷题群,加入后发现好热闹啊,里面人又有趣说话又好听,超喜欢在里面的(跑偏)。可能是没有水群的条款,所以确实会更热闹一点,然后也认识了更多的朋友(包括力扣杯一起组队的群友哈哈哈)。在每次周赛后的讨论都会让自己觉得又学会了一点新东西呢!

(如果大伙进不了灵神群的话也可以去 看灵神每周的周赛直播讲解哈哈哈)

二、算法之路

这边大概说下自己过去一年算法上都做了啥事。

(一)懵懂启蒙

在大三下学期,发现自己好像除了必修课还有多余的学分可以选课,而自己大一的时候唯一的一门编程语法课成绩还不错,因此就在选课的时候决定选数据结构与算法的课程。

事实上,当时对于课程的学习并没有太多依赖于学校的老师(对不起老师哈哈哈),而是决定选课的时候,在学校的 平台上,找到了可以下载的课件,然后就对着课件大概在开学前完成了学习。

此时只是对基础算法有所了解,对于一些稍难一些的算法都没有听说过,而实际上对于不熟悉的知识编码也很不熟练(可以看到那时候,一道二叉树的周赛题我赛中也做不出来,确实是比较初级的阶段)。

(二)硬刷力扣

接下来在学期中,我进入到了在力扣大量刷题的阶段。这段时间,力扣上的学习计划让我每天逼迫自己完成对应的,我并没有根据专题进行太好的整理,但是每天维持比较大的刷题量也让我逐渐提高了熟练度,在周赛应对简单题也更加得心应手。

当时经常同时开 个专题,骗到了不少专题勋章(逃),但同时也经常遇到一天需要完成 题以上的情况,于是也就是痛并快乐着吧。

(三)这边走走,那边看看

在灵神算法群水群的过程中,也在群友的带领下,看到了有许多可以玩算法竞赛的地方,与力扣的难度也各有千秋 ,于是我也尝试着去突破自己的舒适圈,看看各个地方都有什么新鲜的题目,看看我是不是真的在进步。

在各地游走的过程中,我也发现了自己许多之前没有太多用到、抑或是闻所未闻的知识,在对其中部分进行了学习后(倒也是没空都学一遍 orz),对于许多问题的处理也有了更多的手段,畏难情绪也降低了不少。而各个群的群友一起学习,也让我知道我不是一个人在战斗,我不会的东西,大家也有可能可以跟我在一起学。见得更多了,似乎对于新的题也更坦然了。

三、一些小小的经验分享

我个人认为,自己进步最大的时期,也是发生算法上理解的跃进的时期,就是自己在阅读校内的课件的时候。正是有了足够多的基础知识,才能引我到算法的殿堂来看一看,练一练,见识更多的东西。

奈何无法对其内容进行具体的分享,但这边可以大概列个提纲,大家如果不是特别清楚哪些基础算法还没有掌握,可以进行一些学习。

  • 二分算法(顺序表的查找、对答案的二分)(形成自己的一套逻辑,要清楚自己的 最终输出时对应的结果是否合法)
  • 栈(典:中序表达式转后序表达式、求值)、队列(可以如何实现?扩容如何
  • 递归(全排列)
  • 链表(循环或非循环的单链表、双向链表的节点添加、删除等,还包括几道力扣典题)
  • 动态规划(状态怎么找?转移关系怎么看?非后效性为何重要?背包? ?)
  • 二叉树(三种遍历,如何根据先序中序算后序)、树与森林(树状
  • 堆(哈夫曼编码树的构造,建堆, 的过程)
  • 并查集(如何路径压缩?如何维护 ?启发式合并?)
  • 二叉排序树(增删节点——不考虑平衡性,何种遍历为有序)
  • 贪心算法(如何证明成立)
  • 图和搜索(——不用递归实现,拓扑排序——如何找关键路径,最小生成树——,最短路——
  • 算法
  • 哈希(原理,再散列函数,冲突发生会如何?)

大家如果有不知道的可以网上查阅相关的资料,感觉这些的基本掌握应当对于解决大多数问题比较有帮助嘿嘿。

最后就以当前的 图作为一个收尾,希望大家之后在力扣刷题的日子愉快!

image.png

评论 (91)