• nana
    2019-01-09
    感谢一直来的谆谆教导。极客时间最好的课,不接受之一的评价。谢谢
    请上墙。。。

    作者回复: 感谢你的肯定!

     1
     43
  • 三千越甲
    2019-01-28
    留过学的就是不一样,实力
    
     9
  • Jerry银银
    2019-08-03
    超哥的这个课,我看得非常快。因为之前用心、用力学完了极客时间的另外一个算法专栏——大家都懂得。

    这阵子刻意练习递归、分治、贪心、回溯、动态规划,在练习这些算法的时候,确实遇到了不少难点,有时候,精神都有点「崩溃」了。想想, 超哥这个课确实帮了不少忙,从中也能感受到超哥的实战经验确实比较丰富。 我就说我从课程领悟到的一些要点:
    1. 递归模板 很多人都怕写递归,我也是,递归的思想,其实蛮容易懂的, 但是到切题的时候,就不知道如何下手了。我后来想明白了,就是缺少“模板”感觉。如果一上来按照如下几步开始:
    第一步:termination
    第二步:process
    第三步:drill down
    第四步:clear state
    然后,再往里面填递归代码,这肯定就容易多了。比如,我按照这个模板,填完代码、优化代码, 代码优化到最后,我自己都觉得是太美了,如下:
    ``` java
    class Solution {
        private int min = Integer.MAX_VALUE;
        public int minimumTotal(List<List<Integer>> triangle) {
            dfs(triangle, 0, 0, 0);
            return min;
        }
        
        private void dfs(List<List<Integer>> triangle, int layer, int pos, int sum) {
            
            if (layer == triangle.size()) {
                min = Math.min(sum, min);
                return;
            }
            sum += triangle.get(layer).get(pos);
            dfs(triangle, layer + 1, pos, sum);
            dfs(triangle, layer + 1, pos + 1, sum);
        }
    }
    ```

    2. DP
    DP做到后面,你就感觉了,有什么感觉呢:看到一个题目,你大概就能感觉出来,它是否可以用DP解决。当觉得可以用DP解决的时候,你再套用最优子结构验证下就可以了。然后就是两步走:
    (1) 状态如何定义?
    (2) 状态转移方程?
    搞定上面两步,剩下的就是转为代码了。

    3. 最后就是从超哥这里学到了很多切题的方法,比如: 刻意练习自己不会的类型的题目; 切题可以像打游戏一样等等。
    ......

    展开
    
     5
  • Jerry银银
    2019-08-03
    超哥的递归代码写得太丑,😝 我忍不住优化了下。show you the code:
    ``` java
    class Solution {
        private int min = Integer.MAX_VALUE;
        public int minimumTotal(List<List<Integer>> triangle) {
            dfs(triangle, 0, 0, 0);
            return min;
        }
        
        private void dfs(List<List<Integer>> triangle, int layer, int pos, int sum) {
            
            if (layer == triangle.size()) {
                min = Math.min(sum, min);
                return;
            }
            sum += triangle.get(layer).get(pos);
            dfs(triangle, layer + 1, pos, sum);
            dfs(triangle, layer + 1, pos + 1, sum);
        }
    }
    ```
    展开
    
     4
  • 胖胖金刚李元帅
    2019-02-07
    花了大半个春节假期,收获很多。感谢老师。

    作者回复: 也感谢你的支持!

    
     3
  • 大漠胡萝卜
    2018-12-22
    讲的很实在,跟着老师战胜了自己
    
     3
  • farFlight
    2018-12-19
    e..人生苦短我用Python
    
     3
  • bywuu
    2019-04-10
    终于都看完了,还要再看一遍,要练

    作者回复: 赞执行力! 请多看几遍 😁

    
     2
  • 小新是也
    2019-02-25
    终于到了最后一节,感谢老师

    作者回复: 也感谢你自己的坚持!!

    
     2
  • lunar
    2019-01-28
    初步看完了,脑海里一直盘旋着那句,你再这么写,我就打爆你的头,头皮发麻,我会复习的😑

    作者回复: 哈,大家都是斗鱼的活跃用户呀

    
     2
  • 数据结构和算法
    2018-12-19
    讲的非常好,以后有时间必须得再看一遍。
    
     2
  • 辣么大
    2020-01-25
    大年初一!谢谢超哥!春节快乐!
    
     1
  • 叫我家宝 ✔
    2019-11-29
    作为一个非科班出身的程序员, 第一次专门进行算法的学习, 这次花了20多天的时间完整的看完了, 觉得非常有收获.
    我使用视频的方法是先听理论讲解, 然后去leetcode自己独立做对应的题目,把自己能想到的解题思路都列出来并分析时间空间复杂度, 然后找一个最好的方法coding, coding完之后再听习题讲解, 优化自己代码, 最后再去leetcode上看discussion, 再优化自己代码, 最后整理解题思路, 提取代码的模板.
    这样把60多个视频看下来, 觉得自己现在解决一个题目的思路非常清晰了.
    很多程序的写法, 其实原来自己也那么写, 但是没有系统的归纳整理, 没有提取成模板级别; 原来碰到一个题, 产生了解题思路马上就会去code实现它然后运行看性能怎么样; 现在会先给出解法, 比如很多题第一个想法都是dfs(暴力法), 然后紧跟就会想暴力法的时间复杂度肯定高, 接着会想暴力法过程中有没有重复计算, 如果有重复计算就应该可以考虑用dp解, dp能解的话, dp状态的定义是什么, dp方程是什么, dp的时间复杂度有没有比dfs有提升? dp状态的空间复杂度一定用O(m*n)吗? O(m) 行不行...
    现在甚至有一种自己什么都会了的错觉哈哈... 不过相信这其实只是个开始, 目前应该是把理论的30%掌握的比较全面了, 算是师傅领进门了, 接下来还有70%的路, 要靠自己背上键盘去修行了
    展开
    
     1
  • bywuu
    2019-05-19
    两遍,不止看完了两遍,而且做了详细笔记,而且所有代码都手写,都提交了!感觉有点底了。
    
     1
  • iHTC
    2019-03-21
    感谢超哥!棒棒哒!我从尾开始看!希望今年能突破一下,感谢极客,感谢超哥,知识无价!

    作者回复: 多谢你的坚持!!

    
     1
  • ..
    2019-03-20
    老师讲得挺好的,确实3分学7分练,还得自己多下功夫啊
    
     1
  • 曹舰航
    2019-02-20
    拨云见日,感谢超哥!最好的算法课,不接受反驳。
    
     1
  • 雷朝建
    2019-01-12
    花了一周时间, 除了DP部分没看完, 其余的都过了一遍, 感觉课程整体很不错。
    感谢分享。
    
     1
  • 南山
    2019-12-22
    这一阵子在重头学数据结构与算法,这两天一度有种学不下去的颓废感,不仅仅是难度,还有不知道怎么学,知道要练习练习练习,但是花费大量时间却不得要领的感觉真是无比难受。
    特意看了几个方法轮的视频,感觉自己的信息和劲头又回来了,多谢超哥~~~
    
    
  • niubility
    2019-12-16
    这套课程我看了1年半,每道题都是一点点抠出来的,坚决不看答案的那种.感觉自己从一个以前遇到算法就慌的it屌丝,成长为有一战之力的小白了.再次感谢老师
    
    
我们在线,来聊聊吧