传说中的谷歌招聘委员会成员之一,从幕后走出来,教你学系统设计!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
楼主: 纠结帝
收起左侧

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

    [复制链接] |试试Instant~ |关注本帖
落轩 发表于 2015-1-25 09:00:28 | 显示全部楼层
leetcode第一遍,按AC刷到120题现在觉得好痛苦。刚开始刷的时候还比较顺手,8,90题以后就明显开始刷不动了,好多都是看答案的。也不是完全没有思路,但就是没办法写出bug-free的来。
请问各位,是应该继续刷完再开始第二遍,还是放弃那些比较难的题多刷几遍基础的呢?谢谢。
回复 支持 反对

使用道具 举报

霸王 发表于 2015-3-9 00:53:16 | 显示全部楼层
多谢分享,最近准备开始刷题了。
回复 支持 反对

使用道具 举报

jocelyna 发表于 2015-3-21 17:04:00 | 显示全部楼层
想请问个问题,什么程度可以开始刷题呢?UCB CS61B Data Structure那个上完是不是就可以开始刷题了?上完之后还要不要上Princeton那个呢?还是直接开始刷就可以了?
回复 支持 反对

使用道具 举报

jocelyna 发表于 2015-3-21 17:05:55 | 显示全部楼层
看大家的讨论,意思是PIE和CC150比leetcode要简单很多?
回复 支持 反对

使用道具 举报

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

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

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

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

评分

3

查看全部评分

回复 支持 18 反对 1

使用道具 举报

smartsman 发表于 2015-5-22 06:49:13 | 显示全部楼层
很想刷题啊,刷题最简单了。我是新手中的新手,多谢!
回复 支持 反对

使用道具 举报

2538752252@qq.c 发表于 2015-6-3 02:20:29 | 显示全部楼层
我从EE转CS,只学过C语言和java,现在想自学数据结构,请问各位大神,是用C语言学数据结构好呢还是用java好呢?
回复 支持 反对

使用道具 举报

caffery24 发表于 2015-6-6 13:20:54 | 显示全部楼层
readman 发表于 2013-12-31 08:15
直接刷题必败, 先看书. 书是人类进步的阶梯.
我个人觉得看别人讨论也没用, 因为对题型变种不可能全部包含. ...

你好,我和LZ一样,也是第一遍刷题,然后感觉就是总是想不到那种特别优化的思路。我是大四,自己上了java的公开课,然后跟了berkeley的cs61b,这个是认真的做了作业,然后看普林斯顿的算法课,但是没很认真跟。
不知道我这算是直接刷题吗?????需要看CC吗?
希望给点建议
回复 支持 反对

使用道具 举报

go7going 发表于 2015-6-8 17:54:30 | 显示全部楼层
弱弱问一句=。= leetcode的解体答案在哪里看。。。
回复 支持 反对

使用道具 举报

maidanglao 发表于 2015-6-10 05:32:26 | 显示全部楼层
go7going 发表于 2015-6-8 17:54
弱弱问一句=。= leetcode的解体答案在哪里看。。。

网上有不少解答,如果你用java,可以搜索一下九章算法提供的leetcode答案
回复 支持 反对

使用道具 举报

zhuli19901106 发表于 2015-6-23 06:37:52 | 显示全部楼层
感觉要守住两个原则:
1. 坚决不用IDE
2. 坚决不运行
因为面试只有白板和纸笔,调试靠脑子。所以训练的时候就坚持用脑子调试吧。
还有就是慎重对待每次提交吧,追求1AC,毕竟做到bug-free很难,所以平时训练必须尽力追求bug-free。(新人刚注册。如有不懂规矩的地方,还请指正。)

评分

1

查看全部评分

回复 支持 2 反对 7

使用道具 举报

meow6589 发表于 2015-6-29 03:50:39 | 显示全部楼层
个人目前的战略是先用python刷,因为Python语法简单,还不用一大堆初始化的东西,效率很高。
然后完全不看答案,按照easy->medium->hard 的顺序刷,系列题也是按照先后顺序刷

个人认为靠着看答案做出来的题永远记不住,所以坚决坚持独立做题。只有在testcase通过,但是时间分布跟其他人差很多,又实在想不出来其他方法的时候去看hint tag

这样一遍刷下来,起码算法思想就具备了。然后下一遍准备改用java细扣语法实现。在第二遍刷的时候也可以在实现出自己算法的前提下去看别人比较好的解题方式。

以上为CompE,CS等专业的刷题方法。如果是其他专业。。。强烈建议还是先去看书,不然知道100道题怎么解,也不一定知道背后的系统道理

评分

1

查看全部评分

回复 支持 2 反对 0

使用道具 举报

showt1me 发表于 2015-7-6 13:05:31 | 显示全部楼层
本帖最后由 showt1me 于 2015-7-6 13:14 编辑

If you already have basic knowledge, starting from CC150 is a great idea.
回复 支持 反对

使用道具 举报

syxgtsyxgt 发表于 2015-7-26 09:25:52 | 显示全部楼层
hackerrank有必要刷吗
回复 支持 反对

使用道具 举报

zhuli19901106 发表于 2015-7-26 14:54:29 | 显示全部楼层
syxgtsyxgt 发表于 2015-7-26 09:25
hackerrank有必要刷吗

hackerrank可不简单,反正比topcoder要难的。其中难度在Expert以上的题你试过就知道了。
回复 支持 反对

使用道具 举报

mhwkanon 发表于 2015-8-31 06:31:37 | 显示全部楼层
先看基础知识在刷题,直接刷肯定要卡住的。最下策不会的题看不懂先背下来,以后看熟了也会顿悟的
回复 支持 反对

使用道具 举报

lby1989825 发表于 2015-9-4 10:25:27 | 显示全部楼层
都有这么个挫败的过程,我开始刷题的时候连length of lastword这种题都不会做,树和hashmap完全不会用,更不用说少见一点儿的像segment tree, deque,trie这类的。不过慢慢也都熬过来了,不会的题看了答案一定要自己debug来跑才能彻底理解。我leetcode已经刷了两边,lintcode也刷完了,也就前后用了大半年的时间,已足够应付G,F这类公司的技术面(不过已被F拒掉,G家还在等消息中)。个人认为leetcode还是很简单的,lintcode略难。你只要努力搞除了变态的DP的问题和复杂度卡的超高的String或array问题,其余的应该都能有思路来解。另外有的题貌似word ladder II这样的写不出来也就算了,因为根本不会考,面试官如果考你这个,基本也是不想让你过的。
回复 支持 反对

使用道具 举报

plich 发表于 2015-9-29 09:06:10 | 显示全部楼层
如果你看到答案的反映不是醍醐灌顶的话……就建议你把它背下来

怎么背?参考遗忘曲线,当天,第二天,第四天,第八天,第十六天去复习这道题,忘了就重新看一下答案。当背红宝书处理呗
回复 支持 反对

使用道具 举报

plich 发表于 2015-10-31 02:54:20 | 显示全部楼层
go7going 发表于 2015-6-8 17:54
弱弱问一句=。= leetcode的解体答案在哪里看。。。

LC每道题的discuss里面都有答案
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-9-23 15:50

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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