V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hxndg
V2EX  ›  程序员

是不是除了刷题没有什么能切实提高具体的算法能力?

  •  
  •   hxndg · Apr 16, 2016 · 5750 views
    This topic created in 3676 days ago, the information mentioned may be changed or developed.

    下午去参加了一个笔试,难度不是很大,才 8 个题。然后悲粹地发现,竟然做不完,时间跟不上。跟同学聊天的时候说,都是 leetcode 上的题,而且我想复杂了( orz )。顿时很疑问,是不是还是刷题是提高算法能力的最有效的方法,应当看书和刷题结合到一起呢?那么应当如何分配这个时间配额呢?

    Supplement 1  ·  Apr 17, 2016
    感谢诸位,确实觉得自己还是实践的太少,毕竟学习算法的根本目的还是写出优秀的程序,准备开始刷题!~!
    23 replies    2016-04-17 16:48:53 +08:00
    hxndg
        1
    hxndg  
    OP
       Apr 16, 2016
    额,这个怎么删帖呢?忽然觉得这个问题提的好 low ,本来就应该刷题和看书一起阿,尴尬尴尬
    yangtze
        2
    yangtze  
       Apr 16, 2016   ❤️ 1
    hellov22ex
        3
    hellov22ex  
       Apr 16, 2016


    不断地学习和充分的使用

    我觉得对所有知识都有效。
    epkT6QJ3RSaz6AnJ
        4
    epkT6QJ3RSaz6AnJ  
       Apr 16, 2016
    murmur
        5
    murmur  
       Apr 16, 2016
    刷题是必须的
    当然刷题本身也是在线编程练习 也会锻炼你的调试能力 发现问题的能力
    我感觉这很好
    hxndg
        6
    hxndg  
    OP
       Apr 16, 2016
    搞错了。。。。原来是剑指 offer 上的。。。。。
    @yangtze 实际上我看的就是那里面的书哈,因为有点反感这种背答案的方式所以一直没看剑指 offer ,不过看起来确实很尴尬,^_^,希望看那些书能够帮助我提高我的意识,哈哈
    hxndg
        7
    hxndg  
    OP
       Apr 16, 2016
    @murmur 恩恩,我很赞同,现在主要是觉得时间不够用,每天还得看书,还得整论文的东西,时间很紧张。
    hxndg
        8
    hxndg  
    OP
       Apr 16, 2016
    @epkT6QJ3RSaz6AnJ 赞,基础知识。确实有必要学习
    hxndg
        9
    hxndg  
    OP
       Apr 16, 2016
    @hellov22ex indeed,现在就是觉得很多过去用过的东西都忘了,很尴尬。确实需要充分应用
    ivanchou
        10
    ivanchou  
       Apr 16, 2016
    同样因为最近实习面试才开始准备,感觉好多东西啊,看不完,算法啥的都是一知半解。从现在开始要拼一些了,共勉,可以加个 wx 或者 telegram 啥的。
    shippo7
        11
    shippo7  
       Apr 16, 2016
    刷题其实就是高强度训练,把 LeetCode 上的题都刷一遍,虽然面试时有背诵的成分,但是算法能力也提高了很多
    hxndg
        12
    hxndg  
    OP
       Apr 16, 2016
    @ivanchou 可以哈,我 sx 是名字 x2
    magicdawn
        13
    magicdawn  
       Apr 17, 2016
    @yangtze 叼叼的
    hxtheone
        14
    hxtheone  
       Apr 17, 2016
    个人觉得做题还是很有帮助的, 就算不是为了面试, 做一些算法题, 也是对能力很好的锻炼, 比如我第一次终于完全弄懂了 DP, 学会用 DP 的思想去思考问题

    而且 leetcode 这个平台我觉得最好的一点是, 它的错误用例和运行结果很透明的, 不像一些 OJ 就像黑盒一样让人摸不着头脑, 我在 leetcode 上因为没考虑 null 参数错了几次之后, 在平时工作时也会注意空对象的问题, 而且做完之后还可以根据自己 submission 速度的排名来思考自己的算法有什么可以优化的, 这些我觉得算是刷题时额外的收获

    https://github.com/MrHuxu/leetcode, 刚刷 medium/easy 题刷到 110, 共勉
    zynlnow
        15
    zynlnow  
       Apr 17, 2016
    whisperzzzz
        16
    whisperzzzz  
       Apr 17, 2016
    @hxtheone 黑盒这个看怎么去看吧……觉得有时候 WA 了好几天是因为哪个奇葩用例没考虑到的话……以后也不会犯这个错了……
    hxtheone
        17
    hxtheone  
       Apr 17, 2016
    @whisperzzzz 嗯, 多犯几次就知道教训了, 不过有时候一卡好几天真是抓狂
    whisperzzzz
        18
    whisperzzzz  
       Apr 17, 2016
    @hxtheone 不过经常有什么%f %lf %lld 这种坑……或者因为什么奇怪的问题一直 PE ……远没 Leetcode 友好就是了……
    matthewz
        19
    matthewz  
       Apr 17, 2016
    看你怎么理解"算法能力"

    如果说是要通过面试甚至 ACM 竞赛, 那肯定是刷题.

    如果是搞计算机理论, 比如开发新的排序算法, 那肯定不是了.
    ceclinux
        20
    ceclinux  
       Apr 17, 2016
    同意上楼,面试刷题只是算法的一部分,即对简单算法的快速应用实现的能力。
    但是面试不会考你高深的算法,对于算法的证明什么的也忽略了。
    zhj5chengfeng
        21
    zhj5chengfeng  
       Apr 17, 2016
    我觉得刷题是必然的啊,学习一个东西,理论懂了,但会不会用又是另一回事了,就跟写代码一样,都需要联系,通过不断的练习来加深记忆,加深理解
    fhefh
        22
    fhefh  
       Apr 17, 2016
    mark 下~
    xxstop
        23
    xxstop  
       Apr 17, 2016
    mark!!!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5318 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 09:37 · PVG 17:37 · LAX 02:37 · JFK 05:37
    ♥ Do have faith in what you're doing.