leetcode解题思路的培养
首先,能够提出"可能刷过的题会做,新题目就不会了",说明你已经迈过了学习算法数据结构的第0阶段(或者说算法竞赛之类的能力的第0阶段)。
我曾经是做ACM竞赛的,以我之前的经历来讲,归纳"算法竞赛、解决算法题目的能力"
这条路有5个阶段:
阶段0(初学乍练,不足挂齿): 学习基础知识(经典算法、数据结构等),为了掌握这些基础知识通过考试在做一些纸上的题目,好一点的会去主动的编一些基本的程序题目。全国50%以上的计算机专业的同学可能都在这阶段挣扎着。
阶段1(粗懂皮毛,半生不熟): 基本的算法各类题型都已经见过,简单的还是难得每种类型加一起至少也刷过200多道,看到原题、熟题、模板题都可以解决,但是一到考察想法、或者很复杂的题目,单靠自己可能想不出来了,需要看解题报告才可解决,但有时候解题看不明白或者看不出来写解题报告的人水平咋样,反正照着他的思路写出来没问题。
阶段2(已有小成,融会贯通):一般难度的题目(leetcode 80%以上的题目应该都是一般难度的、ACM区域赛的部分题也是)都可以独立解决,虽然有的做的快点,有的做的慢点,但是这种题死磕一下肯定都通过。(就像leetcode把测试数据都给了,就没有通过不了的)。有了不错的举一反三能力。看别人的解题报告也可以知道谁写的好,谁写的屎。周围的同学如果有不会的问题会问你,那些都是小意思。
达到阶段2的时候,那么恭喜你,放心吧,只要再加上系统性的训练,什么BAT微软亚马逊的算法面试不会难倒你的! : )
阶段3(炉火纯青, 出类拔萃): 刷leetcode这种非竞赛OJ早已经没感觉了,感觉就是在消磨打发时间。刷OJ也只刷中等偏上或者难题了,这样才能提高自己。这一阶段更重要的是培养临场竞赛能力,什么Topcoder SRM,Codeforce周赛,谷歌GCJ,百度之星之类的算法竞赛,有时间参加一定会玩一玩,状态好的时候说不定打个前几名,状态差点反正也掉不到哪里去。Topcoder、Codeforce黄名或者红名的阶段。如果还有两个志同道合的好队友,那么ACM打个金奖也没什么问题。
阶段4(登峰造极,举世无双): Topcoder红色带靶心,世界上到这阶段的选手其实数的过来,ACM world final的奖牌是曾经的回忆,退役后有空也会玩一下,不小心就是某个比赛的第一名。题目早就不会再去刷了,无招胜有招吧。其实想到这阶段,光凭努力一般是不行的。最重要的还是天赋,就是天才那就是1%的灵感加上99%的汗水中的那1%的灵感。
我想你纠结的就是如何从第一阶段到第二阶段吧,其实第1阶段到第2阶段,要注意如下几点:
1.刷题的数量,只有量变才能引起质变。在想从第1阶段到第2阶段,应该得有300-500道题目的积累,有半年-1年的刷题经验。
2.刷题的质量,刷水题那是不可能到第2阶段的,还是得做一些有难度(考思想),复杂(考编码量)的题目。
3.总能问题的能力,其实想举一反三,最重要的是总结,总结每种类型的题型为什么可以这么出?为什么难?出题者的思路是什么?
他想给我设计什么坑让我无法通过?
做以下这些:
1.如果为了准备面试,刷leetcode至少得达到200-300题,且这些题目都得好好总结着刷,一定保质保量,写写解题报告给大家看看也是不错的方法。
2.如果为了准备算法竞赛,好好打基础,推荐一本书,刘汝佳的《算法竞赛入门经典》,推荐一个网站http://train.usaco.org/usacogate
最基础的竞赛训练网站,充分练习编码能力。
同学加油!你可以的。 : )
林沐
leetcode解题思路的培养相关推荐
- leetcode解题思路(无代码) 归类汇总版,面试笔试经典例题
我将舍弃没有巧妙解法的简单题.部分题干.代码实现.非关键步骤,目的是做成一篇每次面试前都能过一遍的思路问答题. 在我仅有的面试经验中,面试官似乎会按知识点提问.因此我认为归类极其重要. 简单的题不一定 ...
- LeetCode解题思路—滑动窗口法
LeetCode上的题有上千道,经常是做了后面的忘了前面的,如果能够找出这些题型的共有规律,可以事半功倍 建议将思维导图保存下来观看,或点击这里在线观看
- leetcode解题思路分析(一百三十四)1131 - 1143 题
1131.绝对值表达式的最大值 给你两个长度相等的整数数组,返回下面表达式的最大值: |arr1[i] - arr1[j]| + |arr2[i] - arr2[j]| + |i - j| 其中下标 ...
- LeetCode解题思路—循环排序与原地翻转链表(思维导图)
这两个内容比较少,就合在一起更新了
- LeetCode解题思路—区间合并
建议将思维导图保存下来观看,或点击这里在线观看
- LeetCode解题思路—快慢指针
建议将思维导图保存下来观看,或点击这里在线观看
- LeetCode解题思路—双指针模式
建议将思维导图保存下来观看,或点击这里在线观看
- leetcode解题思路分析(一百三十)1093 - 1096 题
大样本统计 我们对 0 到 255 之间的整数进行采样,并将结果存储在数组 count 中:count[k] 就是整数 k 在样本中出现的次数. 计算以下统计数据: minimum :样本中的最小元素 ...
- leetcode解题思路分析(一百零二)874 - 880 题
模拟行走机器人 机器人在一个无限大小的 XY 网格平面上行走,从点 (0, 0) 处开始出发,面向北方.该机器人可以接收以下三种类型的命令 commands : -2 :向左转 90 度 -1 :向右 ...
最新文章
- Python20-Day05
- js轮播图代码_javascript基础(一)——轮播图
- Kubernetes v1.6开始支持RBAC
- python-I/O-文件操作
- dfs递归实现组合型枚举
- element UI框架Fr Cover主题插画下载模板V2.0
- 1000道Python题库系列分享四(40道)
- border-radius导致overflow:auto 或者 overflow:hidden失效,溢出问题解决方法
- tensorflow之卷积池化和全连接
- 【WEB基础】HTML CSS 基础入门(2)选取工具:VS2019安装使用
- Error creating bean with name错误,spring-boot报错
- android 日历折叠,可折叠的日历控件Calendar
- 四元式的翻译以及寄存器分配
- hdu5773 --2016多校第四场1010
- 电商项目 的业务逻辑与相关要点
- CNCC|AI大模型开源开放生态技术论坛,助力多领域AI生态发展
- 卡车智能驾驶进入“后法规”时代
- 人工智能+名片,我们看到了营销圈中的“阿尔法
- 【密码学原理】数字签名(ElGamal签名,Schnorr签名,椭圆曲线签名,RSA-PSS签名)
- 为什么梦里常有视觉和听觉,却没有痛觉和嗅觉?