Top K Frequent Elements - Leetcode 347 - Heaps (Python)

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ธ.ค. 2024

ความคิดเห็น • 27

  • @GregHogg
    @GregHogg  5 หลายเดือนก่อน +3

    Master Data Structures & Algorithms For FREE at AlgoMap.io!

  • @johnboamah9510
    @johnboamah9510 4 วันที่ผ่านมา +1

    I hardly ever comment on TH-cam, but I had to. Your second solution is unique compared to others I have seen online. Great work!

  • @alibaba888
    @alibaba888 หลายเดือนก่อน +1

    This is the best explanation I came across, thank you!

  • @JoeTan-nq4fq
    @JoeTan-nq4fq หลายเดือนก่อน +2

    Since we are already using Counter class, we can use most_common() method.
    counter = Counter(nums)
    top_k = counter.most_common(k)
    return list(map(lambda x: x[0], top_k))

    • @0xDomain
      @0xDomain 14 ชั่วโมงที่ผ่านมา

      I'm not sure you'd be allowed to use most_common in an interview 🤔

  • @rahuldwivedi4758
    @rahuldwivedi4758 ปีที่แล้ว +1

    Great work. But if you switch context in the middle, please make sure to complete the context. At 4:32 you were talking about max_heap and in that process it seemed you were explaining the time complexity would be O(Nlogk) but it actually was for min_heap.

    • @jiasubaowenke
      @jiasubaowenke 4 หลายเดือนก่อน

      Hi, could you please explain why it's O(nlogk) instead of O(klogn)? I don't know why, thank you!

  • @christianjt7018
    @christianjt7018 4 หลายเดือนก่อน +1

    The second solution is very creative, thanks for sharing!

    • @GregHogg
      @GregHogg  4 หลายเดือนก่อน

      I love these heap questions, there's some really interesting solutions

  • @fadygamilmahrousmasoud5863
    @fadygamilmahrousmasoud5863 3 หลายเดือนก่อน +3

    This 2nd solution is briliant

    • @GregHogg
      @GregHogg  3 หลายเดือนก่อน

      It's really cool

  • @LearningWorldChatGPT
    @LearningWorldChatGPT ปีที่แล้ว +1

    Fantastic!
    Thank you for that !

    • @GregHogg
      @GregHogg  ปีที่แล้ว +1

      Very welcome :)

  • @jiasubaowenke
    @jiasubaowenke 4 หลายเดือนก่อน

    Thank you so much! I have a question that why don't we just use couter.most_common in the heap solution, is it slower than the heap sort?

  • @Flybot20
    @Flybot20 ปีที่แล้ว +1

    Good work. Keep going 👍🏼

  • @n.h.son1902
    @n.h.son1902 6 หลายเดือนก่อน

    2:12, wait, it should've been O(klogn) if we only consider the work of heap

  • @samspeaks-hk1vp
    @samspeaks-hk1vp 3 หลายเดือนก่อน

    please help , how come the second solution is not o(n2)

    • @johnboamah9510
      @johnboamah9510 4 วันที่ผ่านมา

      The loop that fills the bucket array runs in O(n), where n is the length of nums. The loop that retrieves the top k elements iterates over the bucket array (size of n + 1) with O(n). Both loops are O(n), so the overall time complexity is O(n) not o(n^2).

  • @samspeaks-hk1vp
    @samspeaks-hk1vp 4 หลายเดือนก่อน

    how its o(n) ?we have inner loop

    • @guinea_horn
      @guinea_horn 4 หลายเดือนก่อน

      Because there isn't an inner loop?

    • @samspeaks-hk1vp
      @samspeaks-hk1vp 3 หลายเดือนก่อน

      @@guinea_horn second solution from line 15 to 19 should not it be o(n2) ?

    • @guinea_horn
      @guinea_horn 3 หลายเดือนก่อน

      ​@@samspeaks-hk1vpno, and I'm not sure why you think it is. Unless by n2 you mean 2*n rather than n^2, because we do have two iterations over n items but not an n^2 loop. 2*n reduces to O(n) in typical big o notation

  • @richardpro8927
    @richardpro8927 11 หลายเดือนก่อน

    We need more

  • @cmarquay
    @cmarquay ปีที่แล้ว +1

    heappy heap

    • @GregHogg
      @GregHogg  ปีที่แล้ว +2

      Heap it up

  • @rattlik1
    @rattlik1 3 หลายเดือนก่อน

    most_common?