一亩三分地

 找回密码 注册账号

扫描二维码登录本站


Salarytics=Salary Analytics
查询工资数据
系统自动计算每年收入

码农求职神器Triplebyte
不用海投
内推多家公司面试

科技公司如何
用数据分析驱动产品开发
coupon code 250off 立减$250

深入浅出AB Test
从入门到精通
coupon code 250off 立减$250
游戏初创公司招聘工程师、UIUX Designer和游戏策划
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
查看: 4204|回复: 53
收起左侧

[Leetcode] Leetcode刷题700+后的困惑与迷茫

  [复制链接] |试试Instant~
我的人缘0

分享帖子到朋友圈
xqfly | 显示全部楼层 |阅读模式
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   96% (32)
 
 
3% (1)    👎

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

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

x
楼主之前ECE专业,毕业后做了几年软件了,在职刷题,前前后后一年半多,楼主坚持目前刷了700道左右,大部分都刷了3遍。苦苦坚持,冷暖自知,大部分时间都是觉得很痛苦的。快秋招了,剩下时间不多,非常焦虑。地里刷题经验也看了不少,可还是觉得自己没收到效果。求各位小伙伴过来人不吝赐教!

之前也上过算法基础课,做题时也理解了答案解法,也分类总结了,但是:

1)一部分Medium+Hard难度的题目重新看到仍然难以想起来解法比如850. Rectangle Area II,还有497. Random Point in Non-overlapping Rectangles[很难想起来是用Reservoir Sampling去做]

,或者即使想起来线索也难以完整推导出整个细节比如Skyline Problem,用multiset去做的时候,entry/leaving event处理细节很模糊,想不起来

2)比较多的Medium题目再次写会出现bug,不是index忘了++,就是有typo,或者忘了某个push,或者习惯地无脑return res[其实应该return bfs_level]等等。

3)比较多的Medium题目现在看到答案就觉得会,一关上答案就缩手缩脚;由于这3遍刷题很多思路是看答案的,每次都自己写了一遍code提交代码accept。但是这个写code过程我经常回头去看答案[大概七八次吧],哪怕个变量命名/逻辑结构都想确保跟原来的答案一样简洁清晰优雅,是不是潜意识还是试图背下代码。。。。虽说理解了思路,但是没记住思路而是想背下代码

自我反省了几天,感觉这3遍间隔时间很长,半年前第一次,三个月前第二次,一个月前第三次,所以每次碰到Medium以及以上的题目,总感觉像新题目;另外就是全职刷题很累,很焦虑,一年以来楼主逼着自己一周刷题七天,周末稍微多睡下觉当作休息;还有就是刷题大部分过程都觉得很痛苦,也许影响了自己记住这些很想记住的解题思路。。。。。

我实在想不到解决办法,这样下去对结局也不甘心,虽说努力也未必有回报。。。。。

求各位大神支招!







补充内容 (2019-8-12 19:18):
看到这么多伙伴们的回帖,很是感动!

楼主今天仔细看了下Harvard CS50这种入门级编程课[由于楼主是ECE从来没上过什么CS入门课,都是靠自己自学,黑暗中摸索],其中Recursion的call stack等解释得特别好。跟我...

补充内容 (2019-8-12 19:20):
另外,楼主也认真学习了下Loop Invariants,似乎对克服循环代码出bug有较大帮助。可以参考下Stanford的这个 http://web.stanford.edu/class/ar ... /161-section-1.pdf.

补充内容 (2019-8-12 19:38):
找到了这个经验分享,看完觉得很燃,不知那位作者大佬能否也帮忙解惑一下?anyway,分享在这里 https://www.1point3acres.com/bbs/thread-537998-1-1.html

补充内容 (2019-8-17 22:00):
有朋友反应链接失效,其实我是直接Google的 “Stanford Loop Invariants”,第一个pdf就是

补充内容 (2019-8-20 18:44):
求助小伙伴们,有没有recruiter的email,可以share一下吗?私信给楼主就行,万分感谢!正在投简历,但是感觉有些慢。

评分

参与人数 12大米 +26 收起 理由
abc99 + 1 给你点个赞!
Sabrinacs松鼠 + 1 很有用的信息!
mchen117 + 1 赞一个
park02 + 10
luckyPidgey + 1 赞一个
丑猪宝 + 1 很有用的信息!
kding0204 + 2 很有用的信息!
LeonChen + 2 加油! Don't push too hard on yourself!
starzero + 2 给你点个赞!
MrAtoZ + 3 欢迎分享你知道的情况,会给更多积分奖励!

查看全部评分


上一篇:Python刷题Tricks和Tips - 巧用range来解题
下一篇:找人約 mock interview
我的人缘0
WarriorZ 2019-8-12 14:34:48 | 显示全部楼层
本楼: 👍   100% (18)
 
 
0% (0)   👎
全局: 👍   94% (669)
 
 
5% (42)    👎
本帖最后由 WarriorZ 于 2019-8-12 14:36 编辑

我也有过类似的疑惑,现在也没有完全到一种看到一道hard马上能写出来的地步。可能楼上的大佬能做到吧。但是我有一个小小的心得可以和楼主分享一下。其实做一道算法题,最难的部分在设计这个算法,如何分解这个问题,有几种情况,每种情况如何操作,需要用到什么算法,为什么?需要用到什么数据结构,中间有什么trade off? 如何解决edgecase,然后根据你设计的算法把例子跑一遍,看看符合不符合你的要求。最后才开始写代码,其实算法你设计的完善了,写代码只是几分钟的事。我最开始刷题的时候,遇到的问题读完题目不管三七二十一马上开始写代码,写个for loop然后条件想半天,后来发现题目没理解清楚,又擦掉重写。这样是没用的。楼主你刷了700道题,可能只是抄了700道题的答案,我知道楼主肯定也下了不少功夫,下次刷题不时候不妨试试我的方法,先把思路理顺了,这样代码自然而然就写出来了,然后之后再遇到这道题就发现自己能秒了,甚至回字的四种写法都能写出来了。

评分

参与人数 6大米 +16 收起 理由
Sabrinacs松鼠 + 1 给你点个赞!
park02 + 10
Tina2018 + 1 赞一个
deardeergogo + 1 赞一个
oceannight + 1 说的太对了!
gongchen + 2 很有用的信息!

查看全部评分

回复

使用道具 举报

我的人缘0
337845818 2019-8-13 02:30:23 | 显示全部楼层
本楼: 👍   100% (3)
 
 
0% (0)   👎
全局: 👍   72% (352)
 
 
27% (136)    👎
首先呢, 题数目没什么意义. 就像你说的, 3遍了, 还是不会做.

山不在高, 有林则徐. 水不在深, 有江??

我建议你每道题都用绝对正确, 最蠢的方法去做. 比如很明显的n方, n立方, n!, n^n这样.

这样做的结果有2
1) 难题基本不能过, 但是你会看到38/50, TLE或者MLE -> 你离答案已经不远了.
2) 直接过, 但是慢 -> 你答案是正确的, LC的测试不够强, 但是你的思考方式已经对了

你这样做可以了解到
1) 自己算法到底是多少时间复杂度
2) 别人优化的地方在哪里.

不至于说闭着眼睛看见一个高票答案就噼里啪啦一抄, 抄了等于会了, 马了等于做了, 买了等于看了?

认认真真老老实实把题做明白了

评分

参与人数 1大米 +1 收起 理由
instant_dev + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

我的人缘0
本楼: 👍   100% (2)
 
 
0% (0)   👎
全局: 👍   99% (824)
 
 
0% (6)    👎
楼主真的辛苦了 ^^ 其实几天前楼主一发出这个帖子我就看到了 当时在几乎一摸一样的心境中挣扎徘徊着 也不知道怎么回 整个人陷入一个谷底

我是在实习期间一个多月刷了250题 之前是完全无基础的 甚至也没有任何工程专业的基础打底 data structure和algorithm都没有怎么学就开始刷题 一开始也是靠硬想+参考答案 把答案吃进去然后换自己方式写 当时就觉得吧 我记性也不至于那么好?? 能把所有细节写清楚并且跑过test case应该代表我肯定是知道怎么写的 但是看了楼主帖子后 感觉我脑子里还是不由自主记下了别人写的答案的 光靠记肯定是不会写的 第二次写 哪怕就隔了一天 可能都对细节很模糊了 我在250题徘徊不前的情况下就停止刷了 上来问了很多地里分享经验作者的意见 很多都说接着硬做没有意义 不如回去把这250题重做几次

然后我最近干脆就去上Coursera的USCD Data Structure and Algorithms Specialization 这项目里面有6个课 视频都比较简短 作业很扎实 很多作业基本都leetcode medium 有的可能还是hard 虽然吧 他们也不讲解答案 但是我把algorithm那一课全部上完之后真的有了一点豁然开朗的感觉?? 这个课一直用一个数学的角度在讲算法 只给pseudo codes 也不带你从算法实现到real codes 我其实上的很不满意 但是最直接的结果是 我现在每天做DP做的很开心 已经和4天前第一次看到楼主帖子的心态完全不一样 XD

楼上有一楼可能说的很对 楼主可能已经非常强 但是对自己没自信 所以导致一些能做的题做不出来 像我上星期沮丧到谷底的时候 不仅题做不出来 生活智商还锐减 开车出门就迷路 在机场两次没搭上同一班飞机 我那天在机场都哭了 不懂自己是怎么回事 但是现在就完全没有了 题多少能做出来一些 每天学习新东西心情愉快 虽然我也没有什么好的经验可以分享给楼主 但是希望可以鼓励一下楼主 继续加油!!!
回复

使用道具 举报

我的人缘0
 楼主| xqfly 2019-8-16 20:36:00 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   96% (32)
 
 
3% (1)    👎
acmeasd123 发表于 2019-8-16 14:03
楼主能否重新分享下斯坦福的那个文件,链接看着过期了。多谢!

我是谷歌的,点击连接就变成下载pdf
https://www.google.com/search?q= ... chrome&ie=UTF-8
回复

使用道具 举报

我的人缘0
 楼主| xqfly 2019-8-13 19:48:32 | 显示全部楼层
本楼: 👍   0% (0)
 
 
100% (1)   👎
全局: 👍   96% (32)
 
 
3% (1)    👎
hotinherre 发表于 2019-8-13 11:24
前两个问题不大。 第三点, 我觉得楼主陷入背答案误区了。。 讨论区的很多解, 其实面试用都并不是很好,  ...

clean code是指bug free还是指变量命名简洁、逻辑简洁之类?
回复

使用道具 举报

我的人缘0
hotinherre 2019-8-13 11:28:48 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   98% (991)
 
 
1% (14)    👎
而且好的代码, 应该是“清晰易懂”, 而不是 “简洁清晰优雅”。  
讨论区的很多高vote方法,我都觉得太追求简洁, 追求优雅了, 反而不是很好理解。 你要面试写出这种, 面试官一眼就看出来你在背题了。。 所以还是自己总结自己的模版, 自己有自己舒服的实现方式比较好!
回复

使用道具 举报

我的人缘0
avicii2018 2019-8-12 19:07:16 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   32% (19)
 
 
67% (39)    👎
我觉得 可以这样 打印一些经典题, 然后老老实实思考,在纸上手动模拟,用脑子尽量想边界,而不是不断靠提交给你找,
同时在leetcode上做题的时候先用注释写一遍逻辑流,看能不能说服自己,而且限时。
没有很快有思路的时候,一定不要慌,多观察题干和例子,大概率会有一个切入点,慢慢向外扩展。
对于一些反对很多的中低频题可以move on。

最重要的就是保持冷静,思维活跃,戒骄戒躁。祝楼主早日提高

评分

参与人数 2大米 +2 收起 理由
yyc1996 + 1 给你点个赞!
Tina2018 + 1 赞一个

查看全部评分

回复

使用道具 举报

我的人缘0
anhenaiguo 2019-8-12 12:05:38 | 显示全部楼层

回帖奖励 +1

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   81% (9)
 
 
18% (2)    👎
跟楼主的困惑一模一样,纠结了好几天。
在职刷题好累好累,非常理解楼主。一个月前做的题肯定忘了。如果能全职刷题就好了。
希望有人能指条明路
回复

使用道具 举报

我的人缘0
wisdompeak2 2019-8-12 13:08:36 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   99% (202)
 
 
0% (1)    👎
如果你不着急找工作和跳槽的话,不妨把刷题当做一种乐趣。每天静心做一题,做完之后一定要反思和总结,尝试写一些心得类的笔记。和伙伴们一起在周末参加比赛,你追我赶,把提升名次作为一种动力。
每做完一道题肯定会有一道题的效果,算法题的世界对你而言就少了一只拦路虎。虽然其他的老虎还有千千万,但我不着急,因为我知道总有一天困难是会消灭光的。

评分

参与人数 2大米 +4 收起 理由
337845818 + 1 给群主+米
WarriorZ + 3 大佬又出来推销你的残酷刷题群了。

查看全部评分

回复

使用道具 举报

头像被屏蔽
我的人缘0
crazycodyman 2019-8-12 14:21:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

我的人缘0
vincentsong 2019-8-12 14:38:45 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (4)
 
 
0% (0)    👎
我还没到100,已经有些迷茫了。 和楼主一起加油
回复

使用道具 举报

我的人缘0
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   97% (97)
 
 
3% (3)    👎
感觉lz在准备gg?列出来的几道题都是gg那个面经的followup
我感觉lz可能还是没有花足够的时间去真正消化题?我自己刷题时(也是700+,这几道题也最近都做过)497是能自己想出解法的 skyline我一开始也是不懂 但是把为什么要有两个events理解以后 虽然每次写出来的解法都不完全一样但都是能跑的
lz其他的问题我也有 但感觉也只能多刷多想
回复

使用道具 举报

我的人缘0
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   50% (1)
 
 
50% (1)    👎
还不够熟练 回想下高考的感觉吧 高考的数学题是不是到了想也不用想就能解的程度 那leetcode有达到这个熟练程度么?
回复

使用道具 举报

我的人缘0
 楼主| xqfly 2019-8-12 19:17:22 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   96% (32)
 
 
3% (1)    👎
看到这么多伙伴们的回帖,很是感动!

楼主今天仔细看了下Harvard CS50这种入门级编程课[由于楼主是ECE从来没上过什么CS入门课,都是靠自己自学,黑暗中摸索],其中Recursion的call stack等解释得特别好。跟我有同样困惑的可以看看。

另外,楼主也认真学习了下Loop Invariants,似乎对克服循环代码出bug有较大帮助。可以参考下Stanford的这个 http://web.stanford.edu/class/ar ... /161-section-1.pdf.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法 - 不要多加空格: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版||一亩三分地

GMT+8, 2019-9-20 21:54

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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