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

做一道算法题需要花多长时间?

  •  
  •   bear2000 · 2020-07-26 19:15:34 +08:00 · 5321 次点击
    这是一个创建于 1367 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一道 LeetCode 的中等难度题目,不看答案,我从构思,到编码,到调试通过,平均至少要 1 个小时以上。大家做一道题大概要多少时间呢?

    PS:做算法题主要是为了面试,毕竟如果碰到原题就会简单很多,不然的话,想思路都要想半天。
    17 条回复    2020-07-27 16:42:31 +08:00
    Junzhou
        1
    Junzhou  
       2020-07-26 19:21:20 +08:00
    如果是做过类似风格的,会很快,也就敲代码+部分思考的时间。
    如果是全新的题目,不能一眼看出较优解法,但是暴力能求的,也很快。例如模拟类的题目,但是很可能会 TLE 或者 MLE 。
    如果是技巧性很强的题目,在不看题解的情况下,三五天,一周都是有可能的。我感觉中等难度的能够熟能生巧。。。中等难度的。。。。打比赛选手的题就不好说了。有的题看多久都不会。。。
    yannxia
        2
    yannxia  
       2020-07-26 19:22:00 +08:00
    第一次做差不多 1H,做变种就会快很多。一般面试如果不是 OJ 那种判题,只是人工看,那主题对就 OK,甚至于可以减枝的部分可以留一个注释。
    RedBeanIce
        3
    RedBeanIce  
       2020-07-26 19:30:26 +08:00
    没思路,一辈子。
    有思路,开发+调试 = 1-3 小时不等。
    aureole999
        4
    aureole999  
       2020-07-26 19:37:42 +08:00
    周末的 contest,1 个半小时 4 道题,1 简单,2 中等,1 困难。一般能做出 2 ~ 3 道,困难的有时间考虑。有时候能做出困难但有一道中等做不出来。
    gwy15
        5
    gwy15  
       2020-07-26 19:57:52 +08:00
    刚随便 roll 了一道 middle ( 583 ),提交 RE 一次,第二次 AC ( 99.74%/100%);
    从 roll 到 middle+开 IDE 、拉题回来推公式+调试+提交一共耗时 6:40 ;
    这个时间应该是我一看就有思路( DP )+ 模板很熟情况下的比较好的时间了。

    https://github.com/gwy15/leetcode/commit/85a2e11654abc8262d2751badf4b767908eca217
    yannxia
        6
    yannxia  
       2020-07-26 20:18:38 +08:00
    @gwy15 hhh··我觉得 DP 是最套路的类型题目(不过思路不对就会卡死)。有时候反而是一些单纯的比较麻烦的题目要处理细节有点烦。
    ChanKc
        7
    ChanKc  
       2020-07-26 21:33:49 +08:00 via Android
    从周赛感觉来看 leetcode medium 平均三十吧,说平均还是因为不熟悉的会被卡住。多数情况一小时内前三题问题不大
    lewis89
        8
    lewis89  
       2020-07-26 22:10:24 +08:00
    做过 有思路 1-4 小时不等
    没做过 拿不准就穷举 2-4 小时
    没做过没思路 有时间复杂度要求 1-30 天都可能.. 永远做不出来都可能


    算法这东西 说白了 还是靠记忆 背模板代码..
    可怜的程序员 最终也变成了 8 股文考试...
    lewis89
        9
    lewis89  
       2020-07-26 22:16:39 +08:00
    像两个链表相加这种,如果没有时间复杂度跟空间复杂度的要求.. 就非常简单 直接两个栈就能搞定
    如果一定要你 O(1)的空间复杂度 就搞出来.. 可能没做过 一时半会 确实没有办法
    MoYi123
        10
    MoYi123  
       2020-07-26 22:43:13 +08:00
    leetcode 的周赛里,我一般前三题 1 题简单,2 题中等用 30 分钟,第四题想一个小时,能不能做出来随缘。
    binux
        11
    binux  
       2020-07-26 23:32:33 +08:00 via Android
    leetcode 中等难度平均 30 分钟一道吧
    毕竟按照面试要求也就能给你 30 分钟
    msg7086
        12
    msg7086  
       2020-07-27 04:14:24 +08:00
    不过我面试遇到的几乎都是简单题……
    DP 都很少上,基本一个 DFS/BFS 或者一个大小顶堆就过了。
    ke1vin
        13
    ke1vin  
       2020-07-27 09:54:57 +08:00   ❤️ 1
    https://juejin.im/post/5e85ec79e51d4547153d0738#heading-36 看看这个人说的吧,说白了,做题速度是需要练习的,慢慢来
    zclHIT
        14
    zclHIT  
       2020-07-27 11:25:12 +08:00
    面试要求差不多就是 30 分钟,如果你做的太慢了面试官会给你提示
    wutiantong
        15
    wutiantong  
       2020-07-27 11:41:43 +08:00
    二十分钟左右
    goodboy95
        16
    goodboy95  
       2020-07-27 15:13:31 +08:00
    小伙子,contest 前三题半个钟头做完,去冲内推资格吧;-)
    shuigui
        17
    shuigui  
       2020-07-27 16:42:31 +08:00
    参考《卖油翁》--唯手熟尔
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5304 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 07:56 · PVG 15:56 · LAX 00:56 · JFK 03:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.