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


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
Babeltime游戏工作室招工程师、美术和策划
Tubi TV招安卓、前端和机器学习工程师
把贵司招聘信息放这里
查看: 816|回复: 16
收起左侧

[算法题] 刷题总是看答案怎么办?

[复制链接] |试试Instant~ |关注本帖
prince123 发表于 6 天前 | 显示全部楼层 |阅读模式

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
真心求助。
目前刷了一百左右,但是现在还是大多数(70%)题目都没有思路。。。总是在网上找解释。。这样就算真有机会面试,岂不是遇到新题直接跪?不知道地里诸位有没有这样的情况?如果有的话遇到新题是怎么解决的。。


评分

1

查看全部评分

freemanlax 发表于 4 天前 | 显示全部楼层
本帖最后由 freemanlax 于 2017-9-18 08:12 编辑

这问题很现实!大多是心理原因!就像中国人学外语,阅读时动不动就看字幕,查字典,学听说时只愿意动耳朵,不愿动嘴巴(怕出丑)学语言。好像是学通了,下次再见到,只有对方认识我,我几乎不认识对方:)
根据我的经验教训,刷题技术上能分2类情况吧
#1. CS基础知识有欠缺或遗忘
#2. 某些算法的实际应用实在是没套路-pattern, 最常见的是DP,双指针,递归回溯,树图搜索,串操作

我的“笨”办法是:停下来,不停的把自己的思路,哪怕是很愚昧的思路,甚至很可能是看不到曙光的思路用草图统统记录下来,留起来别丢。然后看几种答案,跟自己的草图对比一下,确定到底是#1还是#2
如果是#1,那么就得翻翻CS的教程/视频/笔记,练练基本功。然后再尝试着自己来独立画出可行性的草图或者写出代码/伪码。如果再不灵,那就当#2处理。
如果是#2,那就把对自己最适合的(至少)一种答案看透,包括加注解,手动写出每层的中间结果等等。然后照着人家的代码,手动敲进去几遍;尝试着把代码做些改变,看看有没有什么更深的坑。复习复习代码中用到的类库API。

下次碰到类似的题,想想是跟哪个自己见过的套路接近, 翻自己的上述笔记,如果是“旧病复发”,在笔记里自己骂骂自己!争取能把标准解和代码运行机制在脑子里生成个动画片,每每放松时把片子回放回放,我是在上下班的路上做这个。
还有:根据@fentoyal老大的建议,不放过任何hard题(我又加上通过率在20%左右的medium题) 的锻炼机会;@fentoyal老大说:“信心都是自己给的”,比如你老是在网上找答案绝对是毫无信心的表现,对吧?
建议你读读@fentoyal的那个总结帖,反正对我帮助很大。
祝你早日建立自信!
回复 支持 6 反对 0

使用道具 举报

DavidLi210 发表于 4 天前 | 显示全部楼层
打电话报警
回复 支持 1 反对 0

使用道具 举报

 楼主| prince123 发表于 4 天前 | 显示全部楼层
freemanlax 发表于 2017-9-18 08:07
这问题很现实!大多是心理原因!就像中国人学外语,阅读时动不动就看字幕,查字典,学听说时只愿意动耳朵, ...

谢谢回复及建议!的确DP和递归非常没思路,我争取后面做的时候多总结多思考,我去看看你说的帖子。再次感谢!🙏
回复 支持 反对

使用道具 举报

smiliy宝儿 发表于 4 天前 | 显示全部楼层
我以前也是。后来发现多刷几次就好了,可能第一次是看答案写的,第二次第三次就要试着自己写出来。另外,有些经典的题,可以试着背一下代码,然后这道题的套路可以用在其他题上。 顺便mark一下此贴,看看还有大神能提建议
回复 支持 反对

使用道具 举报

donnice 发表于 4 天前 | 显示全部楼层
看啊!为什么不看
回复 支持 反对

使用道具 举报

freemanlax 发表于 4 天前 | 显示全部楼层
本帖最后由 freemanlax 于 2017-9-18 14:09 编辑
prince123 发表于 2017-9-18 11:12
谢谢回复及建议!的确DP和递归非常没思路,我争取后面做的时候多总结多思考,我去看看你说的帖子。再次感 ...

咱们都知道:
DP可以bottom-up 即用类似数学归纳法的边推进边记录每层结果,从而得到所有中间结果和最终结果,我个人就特别能接受这种风格,因为每步都一目了然!
DP还可以top-down,说白了就是递归或有人统称DFS,但是如果top-down都像斐波那契数列那么直观就好了,然而LC题目中的往往是需要在2层(或以上)循环中递归,并利用中间状态“有效的”创建符合题意的最终结果,这样我们能否对每层递归的中间结果做出清晰的预判就成了搭建递归算法的关键,我本人就是在这里特别拌蒜,特痛苦!就好像学开车刚开始上路实驾,老是拿在小区里散步的空间感来衡量高速路,所以就觉得时时刻刻都会跟百米远的车刮上... :) 说直白了就是经验没到,感觉还没到。多手动画画递归树,就会增强感觉,反正这是我的最底线的招数。
另外,多交流心得也是不错的。比如看看“高手”的视频讲解,给别人讲讲题解,自己给自己录音频或视频等等。
我本人的特点是领悟的特快,但忘的更快。所以,我只能针对自己的情况,把每次跟“LC的约会”当成初恋对待,不怕慢,但求刻骨铭心。当然您的情况可能不一样,那就要对症下药!
回复 支持 反对

使用道具 举报

琮睿 发表于 4 天前 | 显示全部楼层
反正过了几天,看也记不住,不看也记不住,为啥不看。多刷就行了,量变引起质变
回复 支持 反对

使用道具 举报

zorrowei 发表于 4 天前 | 显示全部楼层
本帖最后由 zorrowei 于 2017-9-18 14:19 编辑

几条建议如下:1。把DP,DFS, tree,hashmap等几个大类集中专项练习,
2。把discussion里面的讨论搞通,然后写笔记;
3。第一遍的时候,限时半小时内集中精力想解法和画草稿子,到时间了就去看讨论;
4。经过这些反复的几遍练习,算法框架和知识体系会慢慢建立并且巩固

加油!
回复 支持 反对

使用道具 举报

freemanlax 发表于 4 天前 | 显示全部楼层

告诉接线员,嫌犯就是LeetCode吗?
回复 支持 反对

使用道具 举报

parkerjj 发表于 4 天前 | 显示全部楼层
我也是刚刚开始刷题。。好多题没思路。。脑仁疼。。。  总想看答案~~
回复 支持 反对

使用道具 举报

edyyy 发表于 4 天前 | 显示全部楼层
我大多就是看答案,新题肯定是看答案,旧题也记不住,哈
回复 支持 反对

使用道具 举报

oldman09 发表于 4 天前 | 显示全部楼层
以我的经验来说很少会有真的一点思路都没有的题目,再怎们样蛮力解总能写出来吧。关键是效率和正确性上的问题,这样又主要是这几种情况,
1知识点上的缺失,比如从未实践过某种算法或数据结构。
2没有总结过这类题的套路。
3某种情形的Conor case没想到过,正确性没保证。
另外现在面试基本都是lc变体,原题很少见到了。如果就店面来说的话问中等难度以上的dp,除非面试官本身底子够硬,尽量都会避免问这类的,因为容易把自己也带坑里。
回复 支持 反对

使用道具 举报

ambition 发表于 4 天前 | 显示全部楼层
喂,妖妖灵么,这里有人看答案。
回复 支持 反对

使用道具 举报

豌豆芽儿KD 发表于 4 天前 | 显示全部楼层
大家的建议很有用!!!
回复 支持 反对

使用道具 举报

malco008 发表于 前天 23:22 | 显示全部楼层
太有同感了,原来是想要多刷题,到一定程度了就重复的刷。看来还是要总结归类才更有效果
回复 支持 反对

使用道具 举报

rushffgg 发表于 昨天 12:34 | 显示全部楼层
也没啥,就是做的少了,等做得多了,再把几大套路总结下,就会发现其实也就那几种思路变来变去
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-9-22 00:18

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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