算法,天启

2020-07-30 10:30:15 +08:00
 linxiaoziruo

最近一直在刷算法题,感觉和高考数学试卷最后一题类似。

你掌握了解题的所有基本知识(如果是数学,基本知识就是大纲里的各种定理,如果是算法,基本知识就是基础的几个算法思想,比如递归、贪心,回溯,分支限界等),但就是无法发现解题的那个关键步骤和潜藏的那个数字规律。

而发现这个关键点全靠观察和思维敏捷度,没办法说通过某一个固定线索或者思想来顺理成章的提取它,我把发现这个关键点的步骤称之为天启。

这难道就是每个人资质上的区别?这种感觉很痛苦!

有没有大佬出来指点指点我。

6164 次点击
所在节点    程序员
39 条回复
Jooooooooo
2020-07-30 10:46:49 +08:00
聪明人做这种题真的很快

你在想这里面绕来绕去逻辑的时候, 人家已经把正确答案写出来了

接受自己的智商平平就好了, 智商就是天生的东西, 说白了是运气好
javapythongo
2020-07-30 10:47:31 +08:00
感觉普通人刷算法题就是找规律积累经验
TomatoYuyuko
2020-07-30 10:48:54 +08:00
无他
linxiaoziruo
2020-07-30 11:23:56 +08:00
@javapythongo 是的,我就是在积累经验,争取能提取出一般性的规律,越刷越觉得除了一些基本思想,大部分都是靠灵感,很痛苦。
azh7138m
2020-07-30 11:30:26 +08:00
智商就是有差距嘛

我记得计蒜客的活动,4 题( 2 3 4 一样的题目,只是数据范围不一样),看到初中生 30 分钟,AK
太惨了,我这种垃圾就只配搬砖
Weixiao0725
2020-07-30 11:32:01 +08:00
得达到一定的量的时候,才能有所顿悟。所谓量变->质变,多刷题,培养你写程序的思维还是有好处的。
lithbitren
2020-07-30 11:32:58 +08:00
数据结构和搜索相关的一般理解了就差不多了,代码模板都特简单,动归贪心数学相关的没做过基本就是不会,基本已经半放弃了
coderluan
2020-07-30 11:33:09 +08:00
简单题有技巧的, 核心就是分类, 类型其实不多, 相同类型的思路也都相似, 所以存在刷题的可能, 智商差距还是能靠努力来弥补, 不过困难题就不行了, 但是对普通人影响也没那么大.
ericgui
2020-07-30 11:36:30 +08:00
首先,容我推广一波, 我的 leetcode java 版视频: https://space.bilibili.com/9099840/channel/detail?cid=89640

其次,leetcode,你就是多投入时间,多练习,远没到考验你天赋的程度
levelworm
2020-07-30 12:31:23 +08:00
普通人只能靠多堆来获取灵感,做多了你就可以穷举那关键的一步了,前提是不是特别新的东西。
laqow
2020-07-30 12:34:53 +08:00
为什么不试着用算法理解这个“天启”是什么
chuyang
2020-07-30 12:36:40 +08:00
我也很困惑
hakono
2020-07-30 12:39:57 +08:00
聪明的人不代表不用刷题,只是能在比普通人少刷非常多题的情况下,做到运用自如或者独自推导出解题思路
有人学了各种定理,就是能在只做了几道题目熟悉了定理后,就轻松把各种定理排列组合玩出花来解题
但普通人没有这种资质也就只能扎扎实实刷题积累经验了。(但是要知道不是为了应试的话,不能为了刷题而刷题啊,而是为了熟练运用知识而刷题。有人就是能不刷题学了知识就能拿来用,有人就不能。没办法的事情)
20015jjw
2020-07-30 12:47:38 +08:00
@ericgui
天赋是真的有
我大学的助教
0 刷题经验
只投过 Google 一家
实习 转正面试都全过
编辑器都不用高亮的...
aguesuka
2020-07-30 12:50:18 +08:00
可以去看一下对象排序算法时间复杂度为什么是 O(nlogn)的证明,然后养成一个遇到算法题先计算理论最小时间复杂度的习惯。当然有些可能不好计算,但是在计算的过程中把问题抽象对于解决的帮助也很大,可以避免走很多弯路。
wangyzj
2020-07-30 13:02:11 +08:00
其实几乎所有题都有技巧
再变态的题目都是一个简单的变换
是可以分类的

前提是你得首先自己理解好,不能死记硬背

困难的不是做出来
是用最好的方法做出来
lechain
2020-07-30 13:10:04 +08:00
算法的本质是数学,解题第一步是数学建模,解题快不快取决于数学好不好,而数学是可以训练的,并不是智商决定一切(不过有一说一,数学天赋好的人一般人是真的没法比)
tangyikejun
2020-07-30 13:32:10 +08:00
推荐一本书 《怎样解题》
mathzhaoliang
2020-07-30 13:33:37 +08:00
leetcode 里面没有多少数学,只有套路,你习惯了那个套路就行。
现在论坛里面说到算法言必称 leetcode,这不是好现象。
ericgui
2020-07-30 13:40:29 +08:00
@20015jjw 这个肯定不能比,你要和自己比,leetcode 绝对不会超过你的智商上限

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/694254

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX