查看: 173300| 回复: 165
跳转到指定楼层
上一主题 下一主题
收起左侧

[其他] 应该怎么样刷题?

   
全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
大家刷题的时候卡住了怎么办?  

看答案之后理解答案了,但是过几天再看题目,自己感觉还是做不出来啊。感觉是理解答案了,但是“理解”和自己有能力“做出来”不是一个概念啊。怎么样才能让水平从“理解”提高到“做出来”呢?  

做不出来看答案花半天才能明白已经够挫败了,过几天回过头看又忘记怎么做了感觉更挫败了!

请问大家都是怎么样刷题的?

鄙人最近刚刚开始刷题,感觉各种挫败啊!

刷题的时候是不是应该保证自己做过的每道题不管什么时候再遇到都应该会做,刷完可以忘记怎么做第二次刷的时候再回过头巩固?

谢谢大家!大家新年快乐!

评分

参与人数 15大米 +62 收起 理由
darson + 1 赞一个
Jiayueyoyo + 3 好问题
Moai17 + 3 很有用的信息!
kimhyl + 3 很有用的信息!
codingEskimo + 1 赞一个

查看全部评分


上一篇:LeetCode刷不动了……
下一篇:时间复杂度代表的真正的运行时间是多少?

本帖被以下淘专辑推荐:

推荐
mything 2015-3-30 15:36:36 | 只看该作者
全局:
我觉得如果一点算法和数据结果都不知道的话,要先学一门算法和数据结构的课,里面复杂的数学推导和证明可以不管,但是一定要会分析时间和空间复杂度,这是面试必问的。

有了数据结构和算法的基础,之后我推荐Programming Interview Exposed,里面有大段分析,讲一个怎样分析一个问题,然后想出BF方案,再优化的过程,我觉得讲的非常好。这本书看完,就可以刷CC150或者Leetcode了。不过不管是看书还是刷Leetcode里面的题,一定要自己想结果,一个题至少要想个十几分钟乃至几小时,如果实在想不出来,再去看答案,如果想出了方案,再自己想想怎么能优化不?之后再看答案,对比一下自己为什么没想到最优方案,然后一定要彻底理解这个最优方案,如此下来遇到同样甚至变形的题才会有思路。

强调一下:直接看答案或者只想很短时间就看答案收获是比较小的,只有自己仔细想了,收获才最大!

以上个人意见,欢迎大家讨论,一起找到Dream Job!

评分

参与人数 8大米 +35 收起 理由
清蓬村民 + 1 赞一个
andrewsunqm + 1 很有用的信息!
qinyizh + 3 很有用的信息!
chiaki + 3 给你点个赞!
iamiman + 3 给你点个赞!

查看全部评分

回复

使用道具 举报

推荐
z26zheng 2017-9-6 16:29:55 | 只看该作者
全局:
本人CS海本, 目前在微软. 来分享一下我之前的刷题方式:
1. 一定要掌握本科学过的data structure 和 algorithm: tree, array, list, trie; sort, search, dp, greedy等等. 几乎每一个大学的计算机专业都会包含这些东西. 我当时粗略读了读Cracking the coding interviews (150). 花了一周左右吧. 这本书是基础,不过题目太简单太老了, 几乎不会遇到. 第一次读的话可能还会更久一点, 迈出这个第一步我觉得是最难得一个阶段.
2. 熟练一个语言. 本人用c++, 其实很多语言都差不多,建议的有:c++, java, python, javascript. 原因是这些在工作中最长用到, 而且功能强大. 对语言熟练程度的训练,在刷题过程中能提高很多, 不过业余时间,刷题刷累了,也可以读一读stack overflow, quora 等帖子. 这个学习过程虽然不系统,不过很实用. 很多知识都是这样一点一滴积累起来的.
3. 刷题, 我用leetcode. 这个是必须的, 跟在国内准备高考是一个原理,就是题目见多了,很多东西一看就知道怎么做,而且题目变形也很容易就看出来. 就像之前说的, 第一部迈出后,这里就没有心理压力了,就是一道一道的刷. 在刚开始可以按照题目类型刷, 比如都是DP, 然后都是 tree. 这个过程你会慢慢体会到每种题型的特点和精髓. 之后可以按照公司刷, 尤其是在准备面试前一个月, 把一个公司的题目都过一遍,或者更多遍.
4. 看面经. 这个论坛里面就有很多面经, 如果你刷的题目够多, 这个阶段就是简单看一下最近流行的题目. 如果没刷够,这个阶段会比较吃力比较慢.因为面经内容大多比较散, 不规整, 看起来会一头雾水, 不知所云.

评分

参与人数 2大米 +4 收起 理由
YAAOOO + 1 给你点个赞!
kestory + 3 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
tim900925 2013-12-31 07:25:20 | 只看该作者
全局:
我也刚开始做CC的题,也在考虑这个问题。。
目前的打算是每题先尽量自己多想不同的方法,然后上论坛看以前刷题的童鞋们的讨论,之后再看书本答案
回复

使用道具 举报

🔗
readman 2013-12-31 08:15:13 | 只看该作者
全局:
直接刷题必败, 先看书. 书是人类进步的阶梯.
我个人觉得看别人讨论也没用, 因为对题型变种不可能全部包含.
所以建议先别看cc, 先补下知识.
理解 -> 做出来  是这样的:
你要理解的不是别人做题的方法, 而是他是怎么想到这么做的. 比如看到什么类的题想到什么方法.
推荐
http://blog.csdn.net/u011095253/article/details/9158387
你可以看这个作者写的.
里面他类比dfs这种理论, 在不同应用上的代码之间的区别.
和如何用最小的修改(几个关键点在dfs算法上)来满足题目要求.
比如subset中, for的i=pos; 就是关键点. 要记住.
回复

使用道具 举报

🔗
 楼主| 纠结帝 2013-12-31 08:36:23 | 只看该作者
全局:
readman 发表于 2013-12-31 08:15
直接刷题必败, 先看书. 书是人类进步的阶梯.
我个人觉得看别人讨论也没用, 因为对题型变种不可能全部包含. ...

感谢前辈分享经验!

【你要理解的不是别人做题的方法, 而是他是怎么想到这么做的. 比如看到什么类的题想到什么方法.】 这个大赞啊!感觉就和学高中数学一样啊!看答案都明白,自己做的时候就是想不出来!问大牛们怎么做出来的,大牛们也说不出自己是怎么想到的!

但是“怎么想到这么做的”这个是不是也是靠多做题锻炼出来的“直觉”?

菜鸟还没有开始看CTCI,还在刷第二遍PIE里面的linked-list,tree, arrary&string,recursion, sorting(第一遍是一个月前刷的)。因为要要申请的intern是针对freshman和sophomore的,感觉问的都是比较基础的data structure的题目(http://www.1point3acres.com/bbs/ ... neering%2BPracticum)所以觉得只刷这几章的内容应该够了

【所以建议先别看cc, 先补下知识.】应该怎么样补知识? data structure&algorithm的课下学期才上,现在刷题前是不是应该自己看网上的公开课之类的?还是一边刷一边看?
【直接刷题必败, 先看书】前辈有没有什么书推荐?

谢谢!
回复

使用道具 举报

🔗
readman 2013-12-31 09:04:02 | 只看该作者
全局:
纠结帝 发表于 2013-12-31 08:36
感谢前辈分享经验!

【你要理解的不是别人做题的方法, 而是他是怎么想到这么做的. 比如看到什么类的题 ...

额。。我不知道申请intern需要看什么。 我看你给的链接里面的题。。貌似太简单了。。。我面试的时候遇到的比这个难得多。。
另: 我用Java面试的,因为从小写程序,所以书不是很全,我看过的面试书:
java数据结构和算法中文第二版  --> CTCI  --> 编程之美(微软面试那个) --> 算法导论 --> 高老头那本破书

最后一个不用看, 看到算法导论,能动心忍性啃下去的,基本已经能进Google了。 其实看完CTCI就可以去面试了。
我个人觉得面试和在家里做的感觉差很多, 我其实当刷leetcode到80多(AC排序)的时候, 就疯狂报名面试,反正我要去美国,我把国内的公司都面过一边,败了我也不在乎, 就当是打怪升级了。 80多题的时候, 感觉其实知识已经差不多了,因为面试更注重技巧和与面试官的交流思想。有时候,你刷题再多,面试官想爽你一下, 你临场就是想不起来,所以我觉得比刷题更重要的是和面试官的交流,让他知道你的思想。
我亲身经历过一次startup的招聘,因为是职位问题,题很难,又是用Scala(JVM上的一种语言)。该startup的CTO亲面,我印象很深的是,他和我们一起组个team,然后另外一个人出题, 当时他也不知道出的是什么,然后我们一起解决问题。 他也参与讨论。 我貌似在地里没看过这种面法。我当时很紧张,加上咱英语不是母语,哎。。不过那次我看到烙印与出题人的交流,我觉得那是很重要的技能。

经验就是如上。。也许面fresh grad不用太多交流吧(我看地里貌似都是直接去,拿题就写,写完就雇)。以上仅是我个人经验分享
回复

使用道具 举报

🔗
 楼主| 纠结帝 2013-12-31 09:21:57 | 只看该作者
全局:
本帖最后由 纠结帝 于 2013-12-31 09:24 编辑
readman 发表于 2013-12-31 09:04
额。。我不知道申请intern需要看什么。 我看你给的链接里面的题。。貌似太简单了。。。我面试的时候遇到的 ...

感谢分享!

我应该也是用java面试。
因为那个intern项目是针对大一大二的,题目确实比regular的简单很多.....但是菜鸟还是没把握啊!

请问leetcode和CTCI相比,哪个难一点?
回复

使用道具 举报

🔗
readman 2013-12-31 09:34:06 | 只看该作者
全局:
纠结帝 发表于 2013-12-31 09:21
感谢分享!

我应该也是用java面试。

leetcode
回复

使用道具 举报

🔗
 楼主| 纠结帝 2013-12-31 09:45:25 | 只看该作者
全局:
tim900925 发表于 2013-12-31 07:25
我也刚开始做CC的题,也在考虑这个问题。。
目前的打算是每题先尽量自己多想不同的方法,然后上论坛看以前 ...

感谢分享 我也差不多是这样
回复

使用道具 举报

🔗
硕果阳光 2014-1-1 10:05:46 | 只看该作者
全局:
求问 CTCI是啥?
回复

使用道具 举报

🔗
 楼主| 纠结帝 2014-1-2 02:35:37 | 只看该作者
全局:
硕果阳光 发表于 2014-1-1 10:05
求问 CTCI是啥?

cracking the coding interview
也叫CC150 /CC
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表