按照这个步骤来刷题,两个月你亦能成为王者

前言最近很多小伙伴问我怎么入门数据结构与算法 , 又或者怎么刷题 , 很多人也说自己挺迷茫的 。 今天结合个人直接和间接经验给大家一套从头到尾的建议 。 当然 , 本建议如果ACM大佬看到勿喷哈 , 更建议开发方向的人走这条路 。
按照这个步骤来刷题,两个月你亦能成为王者文章插图
如果你是大一 , 学好语言基础就可以走这条路 , 如果你是大二 , 那刚好这条路挺适合你的 , 如果你是大三 , 那你最好加速挑选其中精华去完成 , 如果你是工作或者其他想提升自己 , 那这是一条很好的路 。
青铜白银(15天)一步一个脚印 , 就算他是王者 , 也曾从青铜一步步爬起 。 并且咱们青铜并没有王者的压力 , 咱们啥都不懂 , 啥都只能摸索 , 如果找不到好的道路确实可能一直青铜很久(哈哈哈你是不是一直青铜呢) 。 让我们看看如何突破青铜白银呢?
入门需要哪些语言基础呢?
输入输出、多次输入、if、for循环、数组、字符串等+简单逻辑 。
真的这么多就够了吗?真的 , 这个阶段目的就是有能力处理简单逻辑问题 。
刷多少题呢?在哪刷呢?这里给你推荐两个地方 。
第一个地方:c语言网 (适合青铜)c语言网特别适合小小白 , 前面的题目比较简单特别适合入门 。 适合小白中的小白入门 , 享受ac的感觉 。
按照这个步骤来刷题,两个月你亦能成为王者文章插图
第二个地方 杭电第11页(更推荐适合青铜强和白银)这里的题目都是记忆 。 更适合大家入门了 。 当然 , 杭电第11页有100题 , 没必要刷那么多题 , 可以挑着简单普通的刷一刷 。
按照这个步骤来刷题,两个月你亦能成为王者文章插图
这个阶段大概要刷多少题 , 需要多久呢?
不宜太久 , 主要看自己掌握程度 , 推荐1—2周这样 。 当然每天花费时间不同这个周期也不同 , 刷题量保证在40题左右 , 如果感觉比较容易可以适当减少 。 总有那么多天赋好的能轻松脱离青铜白银打上黄金的也没办法对吧 。
当然 , 在这个阶段 , 可能很多老铁感觉比较难受 , 因为第一次用计算机的思维去思考问题 , 可能感觉比较难 , 但是听我一句:**挺下去 , 就好 , 总能过去的!**可能一道题会花你很久 , 你可能很难下手 , 可以尝试看别人的代码 , 看看别人的思路 。
黄金铂金(15天)这阶段在青铜眼里是大佬 , 在钻石星耀以上眼中还是小白 。 这个阶段就不是简单逻辑了 , 而是涉及一些算法和逻辑 。 需要认真考虑思考 。
这个阶段需要掌握的内容有:Java的List、Map、Set、StringBuilder、Java的api调用排序、类排序(comparator接口)、链表、简单贪心、递归、入门级dp(最多来个暴力)等 。
这个部分主要还是锻炼逻辑 , **让自己有能力处理正常逻辑不太复杂的问题 , 提高自己的动手和code能力 。 **让你有一种能力是见啥都想暴力一下求出来的想法 。
当然这个阶段也给大家推荐两个刷题地方:
牛客pat乙级专栏这里推荐pat乙级的专栏 。 不是因为pat乙级有多难 , 而是pat乙级很多处理字符串问题挺需要思考和逻辑的 。 这个过程让你编码能力和逻辑能力提升还是很强的 , 因为我们经常可能真正会遇到一些字符处理 , 我们需要具备这方面的能力 。 不推荐去PTA官方刷刷完牛客乙级30题其实就差不多了 。 这部分可能很多人比较坚辛 。
我、我室友等很多人在刚刷很多时候可能半天都不能能做一道题 , 所以前期遇到困难别放弃 , 一定要刷完这30题 。 这里15分题比较简单 , 20分一般 , 25分通常不难但是比较复杂 , 你懂的 , 就是那种很麻烦让你不想动的 , 但是别偷懒 。
按照这个步骤来刷题,两个月你亦能成为王者文章插图
image-20201030201224705
杭电部分题目(适合铂金玩家)一.字符串我要会处理(2天 , 6题)
2072、2081、2093、2091、1004、2057
二.简单数学题(4天 , 12题)
? 2031、2033、2070、2071、2075、2089、2090、2092、2096—2099
三.要玩就玩汉诺塔(3天,5题)
? 1995、1996、2064、2077、2175
四.As easy as math(5天 , 8题)
? 1108、2138、1713、1722、2136、2504、1717、1125
参考自671大佬的整理 , 当初笔者就是按照这个步骤进行刷的 , 有些题目挺锻炼思维 , 更烧脑一点点 , 但整体难度还好 。
钻石星耀(30天)这部分是算法的进阶提升阶段 , 可能你经过这阶段节能上和acm大佬说两句话 , 下在小白面前装装大佬 。