刚开始刷题,虽然知道这种情况很正常,但是还是忍不住吐槽一下,为啥别人能想出来如此优雅的解决方案,我连看懂他答案都要花费一番功夫,唉
1
agagega 2023-03-21 23:42:29 +08:00 1
正常,你看 GPT-4 做 leetcode 的水平都远不及做其他题的水平。
个人感觉做算法题难点有三: 1. 把解决问题的思路用过程式的语言描述出来,似乎不是人脑的本性,也和我们十几年来接受的数学物理教育的解题思路有差 2. 算法题经过特意设计,它不需要什么抽象,除非经验丰富,否则思考内容要包含解法的所有细节,脑子容易 out of memory 3. 思路对不对没有意义,只要这个解是不完整的,得分就是 0 ;即使完整了,但没考虑到 corner case ,那也得死掉一大半。反馈路径太长 |
2
shendaowu 2023-03-22 10:26:46 +08:00 1
认为失败和负面结果的原因是类似智商导致的会导致动机下降,动机下降之后更不愿意练习,不愿意练习就更容易失败,最终恶性循环。这是习得性乐观中的核心思想之一。想详细了解习得性乐观建议看看《学习乐观》或者同作者的其他类似的书。更好的策略是认为失败和负面结果的原因是类似经验不足导致的,至少不要认为是智商导致的。另外如果你没兴趣看相关的书的话,提醒一下,如果预期失败的损失很大不要使用习得性乐观。
另外不知道你有没有跟你说的别人沟通过,你是否能确定他们写得很轻松?确实可能有某些智商极高的人能快速理解和解决问题,但是占大多数的普通人对困难的问题都存在理解和解决的困难,要不怎么叫难题呢。听说爱因斯坦都觉得数学难,你的智商应该没有爱因斯坦高把?我大概是在核聚的某个收费视频课里看到的,网上搜不到爱因斯坦觉得数学难的东西。 有些人就是喜欢做难题,这种人一般叫具有成长型思维模式的人。不过据说这种思维模式很难改变,效果应该没有习得性乐观好,了解一下就行了。不过喜欢不代表他们做起来就轻松,毕竟总有更难的问题,这个不要搞混了。 还有一点就是做适合自己能力的难度的问题学习效果更好。推荐看看这篇文章: https://www.163.com/dy/article/EP7M5DS40511D05M.html 。这个可能是学习类似程序性知识的最优学习率。编程中的解决问题的部分我感觉有 90% 以上的概率需要的是程序性知识。不知道你是不是一下子就去做过于难的问题了。另外不知道你是不是缺乏一些前置的知识。比如《算法导论》之类的看熟了吗?如果看熟了的话你有收集各种奇奇怪怪的算法的爱好吗?还有就是你会不会反复用各种方法“玩”各种不同的算法?这种玩的过程据说是熟练掌握的很好的方法,忘了在哪看到的了。我说的玩加上引号了,不是那种娱乐性很强的玩,可以说是以各种可能想到的方式操作某个对象的过程吧。就像婴儿一块积木就能玩半天的那种玩。这种玩没有什么立刻就有的收益,但是能提升对这个对象的熟练度。 |
3
cicked OP |
4
mmdsun 2023-03-22 13:21:10 +08:00 1
尽量独立思考,我做题很少看答案,包括 hard 也是。
题目你自己想出来,和看答案出来差别很大,看答案三遍你也不一定记得住,自己想的下次也会做。 还是不会就看思路,然后自己写。 要是缺乏一些前置的知识可以看《算法》那边红色的书并做下习题,《算法导论》不少人看不下去。 |
6
shendaowu 2023-10-02 17:50:51 +08:00
@solitude2 这么老的回复怎么还有人看到?既然看到了再补充一点。真实的原因其实是很难知道的,而认为失败的原因不是智商有好处,所以这样操作对我来说其实也没什么。我经常自己骗自己,已经很熟练了,一般有好处我就会骗自己。当然有很大害处的自欺我是不会做的。如果实在是不想骗自己的话,《学习乐观》里好像没有说一定要认为原因是经验,只要质疑一下对原因是智商的信念好像就有效果了。我图省事都是直接认为失败的原因是经验之类的了。我觉得大部分人都会有很多不合理的信念,这个客观上跟骗自己好像也没什么区别。当然可能有有意和无意的区别。我还认为骗自己相比骗别人应该没有什么太大的道德问题。另外这里的骗也许可以换个叫法,叫适应性错误信念。不知道换个叫法会不会让人更好接受一点。网上居然搜不到“适应性错误信念”,我怎么记得我在什么地方看过?另外心理学上还有个误归因疗法。
|