原标题:按照这个步骤来刷题,迷茫的你两个月亦能成为王者

作者 | bigsai

来源 | bigsai(ID:bigsai)

前言

大家好,我是bigsai哥哥。最近很多小伙伴问我怎么入门数据结构与算法,又或者怎么刷题,很多人也说自己挺迷茫的。今天结合个人直接和间接经验给大家一套从头到尾的建议。当然,本建议如果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分通常不难但是比较复杂,你懂的,就是那种很麻烦让你不想动的,但是别偷懒。

杭电部分题目(适合铂金玩家)

一.字符串我要会处理(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大佬说两句话,下在小白面前装装大佬。

这部分需要掌握的内容比较多,我给一些经常遇到的罗列一下:贪心算法,回溯算法,dfs,bfs,dp,分治算法,部分数论算法(快速幂、欧几里得、拓展欧几里得最多了),全排列,快排,归并排序,偶尔kmp或者母函数。而数据结构则要求掌握各种链表操作、二叉树各种操作,二叉树各种遍历(涉及部分操作)。并查集。

这里我也给大家推荐两个刷题地方

杭电部分题(钻石用户)

这些题自己曾经都刷过,选了一些感觉质量很好,但我参考了很多大佬做法才ac的,现在把这些题分享给大家。这里多组输入java快速输入要了解一下。

按照专题进行刷题:

贪心小栏目:

1008,1009,2037

dp专栏:

1003,1024,1025,1069,1071,1176,1203,1231,1257,1421,2084

迷宫搜索专栏:

1181(多法),1010,1010,1016,1043,1044,1072,1172,1180,1195,1241,1254,1431,1728

并查集:

1181,1232,1272,1325,1722

其他题(试水体验):

1007分治 2035,1097 快速幂 1686,1711kmp 1002大数 2138素数筛 1061,576拓展欧几里得

剑指offer精过 (星耀用户)更推荐

剑指offer67题,题目质量很高,面试问的也很多,出了一些算法 数据结构要求比较高,所以刷剑指offer需要提前有数据结构基础。并且剑指offer对方法优化的要求很高,所以通过刷剑指offer可以提高自己对时间复杂度的优化和方法的优化,而杭电可能更注重算法实现上。认真优质刷完剑指offer对自己提升很高。

王者

何谓王者?当以持之以恒,acm大佬可以选择牛客比赛、vjudge、codeforce,atcoder 等比较有名地方打打比赛或者按照专题刷题巩固。但我还是推荐我的 LeetCode。对于开发者来说,力扣是持续陪伴的好伙伴,从陌生到熟悉,而其中题目数量很多,质量也很高,刷透的话无论面试,笔试都不在话下。

所以我心中的王者就是 LeetCode+持之以恒。

杭电1108java_按照这个步骤来刷题,迷茫的你两个月亦能成为王者相关推荐

  1. 按照这个步骤来刷题,迷茫的你两个月亦能成为王者

    作者 | bigsai 来源 | bigsai(ID:bigsai) 头图 |  CSDN 下载自东方IC 前言 大家好,我是bigsai哥哥.最近很多小伙伴问我怎么入门数据结构与算法,又或者怎么刷题 ...

  2. 杭电2001_杭电考研851数据结构2001-2015年真题

    [实例简介] 杭电考研851数据结构2001-2015年真题 [实例截图] [核心代码] 杭电851数据结构2001-2015年真题 `-- 851数据结构历年真题 |-- 01 | |-- 2001 ...

  3. postgre非零相除等于0_LeetCode刷题实战29:两数相除

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

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

    首发公众号:bigsai 回复 「bigsai」 领取pdf学习资源,回复「进群」一起打卡力扣成为王者 前言 最近很多小伙伴问我怎么入门数据结构与算法,又或者怎么刷题,很多人也说自己挺迷茫的.今天结合 ...

  5. 2021杭电多校第八场补题

    比赛传送门:Contest Problem List (hdu.edu.cn) 1006)GCD Game 题目翻译:爱丽丝和鲍勃正在玩游戏. 他们轮流操作.有n个数字,a1,a2,...,an.每次 ...

  6. ​LeetCode刷题实战371:两整数之和

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  7. 【leetcode慢速刷题记录】1. 两数之和

    文章目录 前言 一.题目 二.方法 1.暴力破解 2.哈希表 其他一些总结 (1)关于unordered_map 前言 经典面试题,其实比较简单,但鉴于刷题一遍容易忘,还是记录一下. 一.题目 二.方 ...

  8. 2022 年杭电多校第八场补题记录

    A Theramore 题意:给定一个长度为 nnn 的 010101 串,每次可以选取一个奇数长度的连续子串进行位置上的翻转,问经过若干次操作能得到的字典序最小的串.n≤5×105n \leq 5\ ...

  9. hdu 6656 2019杭电多校第7场 期望题

    设f[i]为从i升级到i+1期望需要的金钱,由于每级都是能倒退或者升级到i+1,所以询问从l,r的期望金钱可以直接前缀和,那么推导每一级升级需要的期望钱也可以用前缀和推导 设sum[i]=f[1]+f ...

最新文章

  1. mysql update操作
  2. python断点续传代码
  3. 第四次工业革命:人工智能(AI)入门
  4. hbase完整分布式集群搭建
  5. 属性名、变量名与 内部关键字 重名 加
  6. Eclipse,提交代码,版本比较时,不忽略空格
  7. 五月职场胜如火 Java讲座陪您过
  8. msg邮件转eml邮件
  9. POST 请求的四种提交数据方式
  10. Virtual KD 出现 Still cannot find RPC dispatcher table 无法连接
  11. oracle查看用户 同义词,oracle同义词
  12. win10计算机无法复制文件,win10 电脑复制后粘贴没反应问题的解决方法
  13. 极速接入港交所OMD-C 港股L2数据,JAR WebSocket API获取数据
  14. python名片管理系统2.0_python名片管理系统代码
  15. Java项目中使用Freemarker生成Word文档
  16. 【面试】如何设计一个高并发系统
  17. 竹笋的营养价值及使用方法
  18. No package ‘vips‘ found系列问题解决方案
  19. 免费工具长尾,免费长尾词挖掘工具挖词的方法
  20. linux 0.0.1

热门文章

  1. 感谢OpenEIM的技术人员能够及时修补漏洞
  2. 想做一个程序员 这600个单词是你必须掌握的!
  3. 年底了,小心这些现象。别再无动于衷
  4. 手把手教你搭建自己的个人博客(图文教程)
  5. 学好 Web 前端的 6 点建议
  6. 大数据之Hadoop教程
  7. 生物大数据时代,如何做好数据管理和再利用,发IF10+的数据库文章?
  8. 推荐一个在线全自动智能图片背景扣除工具,效果杠杠的
  9. ROC和AUC也不是评估机器学习性能的金标准
  10. 免费Linux系统和生信宝典原创学习教程