V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cicked
V2EX  ›  随想

看别人算法题答案,我都会觉得自己是头猪

  •  2
     
  •   cicked · 2023-03-21 23:27:42 +08:00 · 1596 次点击
    这是一个创建于 424 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚开始刷题,虽然知道这种情况很正常,但是还是忍不住吐槽一下,为啥别人能想出来如此优雅的解决方案,我连看懂他答案都要花费一番功夫,唉

    7 条回复    2023-10-03 02:28:25 +08:00
    agagega
        1
    agagega  
       2023-03-21 23:42:29 +08:00   ❤️ 1
    正常,你看 GPT-4 做 leetcode 的水平都远不及做其他题的水平。

    个人感觉做算法题难点有三:

    1. 把解决问题的思路用过程式的语言描述出来,似乎不是人脑的本性,也和我们十几年来接受的数学物理教育的解题思路有差
    2. 算法题经过特意设计,它不需要什么抽象,除非经验丰富,否则思考内容要包含解法的所有细节,脑子容易 out of memory
    3. 思路对不对没有意义,只要这个解是不完整的,得分就是 0 ;即使完整了,但没考虑到 corner case ,那也得死掉一大半。反馈路径太长
    shendaowu
        2
    shendaowu  
       2023-03-22 10:26:46 +08:00   ❤️ 1
    认为失败和负面结果的原因是类似智商导致的会导致动机下降,动机下降之后更不愿意练习,不愿意练习就更容易失败,最终恶性循环。这是习得性乐观中的核心思想之一。想详细了解习得性乐观建议看看《学习乐观》或者同作者的其他类似的书。更好的策略是认为失败和负面结果的原因是类似经验不足导致的,至少不要认为是智商导致的。另外如果你没兴趣看相关的书的话,提醒一下,如果预期失败的损失很大不要使用习得性乐观。

    另外不知道你有没有跟你说的别人沟通过,你是否能确定他们写得很轻松?确实可能有某些智商极高的人能快速理解和解决问题,但是占大多数的普通人对困难的问题都存在理解和解决的困难,要不怎么叫难题呢。听说爱因斯坦都觉得数学难,你的智商应该没有爱因斯坦高把?我大概是在核聚的某个收费视频课里看到的,网上搜不到爱因斯坦觉得数学难的东西。

    有些人就是喜欢做难题,这种人一般叫具有成长型思维模式的人。不过据说这种思维模式很难改变,效果应该没有习得性乐观好,了解一下就行了。不过喜欢不代表他们做起来就轻松,毕竟总有更难的问题,这个不要搞混了。

    还有一点就是做适合自己能力的难度的问题学习效果更好。推荐看看这篇文章: https://www.163.com/dy/article/EP7M5DS40511D05M.html 。这个可能是学习类似程序性知识的最优学习率。编程中的解决问题的部分我感觉有 90% 以上的概率需要的是程序性知识。不知道你是不是一下子就去做过于难的问题了。另外不知道你是不是缺乏一些前置的知识。比如《算法导论》之类的看熟了吗?如果看熟了的话你有收集各种奇奇怪怪的算法的爱好吗?还有就是你会不会反复用各种方法“玩”各种不同的算法?这种玩的过程据说是熟练掌握的很好的方法,忘了在哪看到的了。我说的玩加上引号了,不是那种娱乐性很强的玩,可以说是以各种可能想到的方式操作某个对象的过程吧。就像婴儿一块积木就能玩半天的那种玩。这种玩没有什么立刻就有的收益,但是能提升对这个对象的熟练度。
    cicked
        3
    cicked  
    OP
       2023-03-22 11:40:18 +08:00
    @shendaowu @agagega 感谢楼上 v 友的分享,今天好好想了下,我的问题还是基础太烂了,一些常用数据结构的方法都不熟,得好好练习下,循序渐进
    mmdsun
        4
    mmdsun  
       2023-03-22 13:21:10 +08:00   ❤️ 1
    尽量独立思考,我做题很少看答案,包括 hard 也是。

    题目你自己想出来,和看答案出来差别很大,看答案三遍你也不一定记得住,自己想的下次也会做。

    还是不会就看思路,然后自己写。

    要是缺乏一些前置的知识可以看《算法》那边红色的书并做下习题,《算法导论》不少人看不下去。
    solitude2
        5
    solitude2  
       229 天前
    @shendaowu 恶性循环这个太真了,越在意越反噬
    shendaowu
        6
    shendaowu  
       229 天前
    @solitude2 这么老的回复怎么还有人看到?既然看到了再补充一点。真实的原因其实是很难知道的,而认为失败的原因不是智商有好处,所以这样操作对我来说其实也没什么。我经常自己骗自己,已经很熟练了,一般有好处我就会骗自己。当然有很大害处的自欺我是不会做的。如果实在是不想骗自己的话,《学习乐观》里好像没有说一定要认为原因是经验,只要质疑一下对原因是智商的信念好像就有效果了。我图省事都是直接认为失败的原因是经验之类的了。我觉得大部分人都会有很多不合理的信念,这个客观上跟骗自己好像也没什么区别。当然可能有有意和无意的区别。我还认为骗自己相比骗别人应该没有什么太大的道德问题。另外这里的骗也许可以换个叫法,叫适应性错误信念。不知道换个叫法会不会让人更好接受一点。网上居然搜不到“适应性错误信念”,我怎么记得我在什么地方看过?另外心理学上还有个误归因疗法。
    solitude2
        7
    solitude2  
       229 天前 via Android
    @shendaowu 谢谢大佬的回复,respect !
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   950 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:55 · PVG 03:55 · LAX 12:55 · JFK 15:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.