• Wobum
    2018-10-12
    有点喜欢这个老师。
    
     40
  • 社会我鹏哥
    2018-10-11
    老师,能出Java实现的吗?

    作者回复: 后续会在其他例题中也附带java的实现。其实python也很易读的,直接看代码的逻辑即可。

    
     12
  • 失火的夏天
    2018-10-12
    老师其实还有个思路用,数组先排序,然后用二分查找法找,这个算法复杂度是nlogn

    作者回复: 赞一个

    
     11
  • 右手森林
    2018-10-16
    老师能否提供一些go语言实现的例子
    
     10
  • 柠檬C
    2018-10-14
    老师,我在用java刷leetcode时,经常用到内置的Stack等util包下内置数据结构,虽然往往不是最优解,但毕竟也是自己能想到的解法,只是不知道用这种设计好的数据结构是不是有点作弊的感觉?
    因为我没学过C语言,不太懂C、C++大佬们是不是也有类似的内置数据结构,也会像我这样

    作者回复: java的stack因为兼容各种泛型。但是这里只需要算法复杂度上是最优即可,不用强求在评测系统里也排名靠前。

    
     3
  • 菜鸡
    2018-11-13
    为啥我只能想到一种解法?

    作者回复: 多看题目解法和多练习即可。

    
     2
  • leeboby
    2018-10-17
    赞一个,学习这门课才知道有LeetCode这个网站
    
     2
  • 最摇摆的鱼
    2018-10-15
    看到了,一个瓶子的图标,没有那几个字了
    
     2
  • Geek_3ba85e
    2019-07-16
    哇塞,老师还带了耳钉,这也太酷了吧,也许这就是真正的极客吧
    
     1
  • 太空土豆
    2018-11-13
    赞
    
     1
  • Quantum
    2018-10-20
    class Solution(object):
        def twoSum(self, nums, target):
            """
            :type nums: List[int]
            :type target: int
            :rtype: List[int]
            """
            hash_map = dict()
            for i, v in enumerate(nums):
                k = target - v
                if k in hash_map:
                    return [hash_map[k], i]
                hash_map[v] = i
    展开
    
     1
  • self-discipline
    2018-10-19
    已经注册,每天刷一道
    
     1
  • sudo
    2018-10-15
    老师,有java实现的代码吗?您用python实现的这个看似用了一层for循环,但是map内部根据value获取key也是需要for循环遍历啊,其实也不是标准的O(n)吧
    
     1
  • 最摇摆的鱼
    2018-10-15
    我这里没有看到solution tab.
    
     1
  • Y💕
    2019-11-02
    老师,我怎么可以获取整个课件哦
    
    
  • 李琴
    2019-09-30
    枚举x,再判断9-x在数组中是否存在,也是两次循环,复杂度也是n*n,没懂为什么变成O(N)了

    作者回复: 判断 9-x 是否存在,可以有 O(1) 的算法,比较用 hash 。

    
    
  • 瑞
    2019-07-21
    老师,有个疑问,以下得这个时间复杂度不也是n平方吗?放入map也有一层循环不是?
    public int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            map.put(nums[i], i);
        }
        for (int i = 0; i < nums.length; i++) {
            int complement = target - nums[i];
            if (map.containsKey(complement) && map.get(complement) != i) {
                return new int[] { i, map.get(complement) };
            }
        }
        throw new IllegalArgumentException("No two sum solution");
    }
    展开
     2
    
  • Geek_f6f02b
    2019-01-09
    怎么看自己实现的算法排行
    go实现


    func twoSum(nums []int, target int) []int {
        var nums_flip map[int]int
        nums_flip = make(map[int]int)
        var r [] int
        for i, v := range nums {
            nums_flip[v] = i
        }
        for i, v := range nums {
            var tag2 = target - v
            if i2, ok := nums_flip[tag2]; ok {
                if i !=i2 {
                    r = append(r, i)
                    r = append(r, i2)
                    return r
                }
            }
        }
        
        return r
       
    }
    展开
    
    
  • 白白白小白
    2018-12-30
    老师我是php开发,总感觉代码实现 好难!~。~
     1
    
  • Derek
    2018-12-06
    老师,twosum的代码应该是return [hash_map[target-x], i]
    
    
我们在线,来聊聊吧