Trapping Rain Water - Leetcode 42 - 2 Pointers (Python)

Поділитися
Вставка
  • Опубліковано 24 січ 2025

КОМЕНТАРІ • 40

  • @GregHogg
    @GregHogg  6 місяців тому +1

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

  • @lakshyasaharan5348
    @lakshyasaharan5348 4 дні тому +1

    Everytime he said this problem is hard, I felt relieved.

  • @hlubradio2318
    @hlubradio2318 7 місяців тому +11

    Hey Greg FYI the more I have been watching your videos for a few weeks now and I can say you're a genuis.

    • @GregHogg
      @GregHogg  7 місяців тому +1

      Lololol thank you!!

  • @electric336
    @electric336 2 місяці тому +1

    This was a great explanation. I did not even think about treating each index as an individual column of water. I was traversing the array to look for valleys, which made the code much more complicated.

  • @hlubradio2318
    @hlubradio2318 7 місяців тому +11

    Actually Greg is beyond all of my college professors.

  • @CharlesMurphy1000
    @CharlesMurphy1000 3 місяці тому +1

    Thanks for the great explanation. Although this is not a two pointer solution, your explanation helped me understand the intuition behind how a two pointer solution works; the one that dynamically keeps track of the left and right max value. Your videos are great, keep them coming!

  • @saaddude1
    @saaddude1 7 місяців тому +6

    Thanks for explaining this problem in such an easy way!

    • @GregHogg
      @GregHogg  7 місяців тому

      Glad to hear it 😊

  • @christianjt7018
    @christianjt7018 5 місяців тому +3

    Great explanation, you made this hard problem really easy to understand

    • @GregHogg
      @GregHogg  5 місяців тому +1

      Oh I'm really happy to hear that

  • @dejaphoenix
    @dejaphoenix 5 місяців тому +2

    These videos that end with "there's a more efficient method but it's pretty complicated" I would love to see a separate video anyway to describe it. Heck, a whole playlist of "the harder way" videos. Or at least a Wikipedia link in the description describing the harder, more efficient algorithm.

    • @GregHogg
      @GregHogg  5 місяців тому +1

      Sorry about that!!

  • @arshiasaleem5005
    @arshiasaleem5005 9 днів тому

    Listened to 17 seconds of video and subscribed the channel. He seems like a sane person who understands its a stupid question anyways 🤣

  • @varuns3763
    @varuns3763 20 днів тому

    Thanks for the wonderful explaination

  • @jassemtoumi2876
    @jassemtoumi2876 6 місяців тому +2

    Great Explanation !! keep it up

  • @khadijaashraf
    @khadijaashraf 3 місяці тому

    awesome visualization! would love to see the O(1) space solution too.

  • @shivamguys
    @shivamguys 4 місяці тому +1

    Love the way you explain

  • @tanmaysharma3908
    @tanmaysharma3908 3 місяці тому

    heyy man! great work, i love you!!!

  • @NSSanya
    @NSSanya 3 місяці тому

    very nice explanation! cheers

  • @venkatamallapu
    @venkatamallapu 5 місяців тому +2

    if you were not going to show 2 pointers then why did you have it in the title.

  • @X3Maverick
    @X3Maverick 6 місяців тому +12

    Seems like you should take "2 Pointers" out of the video title.

    • @GregHogg
      @GregHogg  6 місяців тому +1

      Nah, that's the name of the algorithm

    • @X3Maverick
      @X3Maverick 6 місяців тому +15

      ​@@GregHogg No, this is a 1 pointer solution. The solution you allude to at the end of the video is a 2 pointer solution.

    • @MrEmbrance
      @MrEmbrance Місяць тому +1

      this is not 2 pointers approach - this is DP

  • @kasmdeliac3264
    @kasmdeliac3264 Місяць тому

    why is the title 2 pointer if its not the solution of it?

  • @dharun1510
    @dharun1510 9 місяців тому

    Thank man, it is really helpful keep up the Good work. ☺

  • @malakggh
    @malakggh 3 місяці тому

    Thank you for saying it's stupidity hard 😂😂

  • @sullivancisco6512
    @sullivancisco6512 4 дні тому

    With the trick, not so bad. Without the trick....

  • @nandepucharitha9049
    @nandepucharitha9049 9 місяців тому +1

    thanks man

    • @GregHogg
      @GregHogg  9 місяців тому +1

      My pleasure, thank you so much for your support!

  • @rahulan9303
    @rahulan9303 5 місяців тому +6

    This is not an optimal solution, and you are misguiding

    • @AdityaRaj-lj5wf
      @AdityaRaj-lj5wf 5 місяців тому +2

      this was not two pointers technically

    • @MrEmbrance
      @MrEmbrance Місяць тому +1

      it's good solution, but it's not "2 pointers", it's DP

  • @ravi19900
    @ravi19900 Місяць тому

    Test case failed
    height =
    [0,1,0,2,1,0,1,3,2,1,2,1]
    Output - 11
    Expected = 6
    class Solution(object):
    def trap(self, height):
    """
    :type height: List[int]
    :rtype: int
    """
    l_wall = r_wall= 0
    n = len(height)
    max_left = [0] * n
    max_right = [0] * n

    for i in range(n):
    j = -i-1
    max_left[i] = l_wall
    max_right[i] = r_wall
    l_wall = max(l_wall, height[i])
    r_wall = max(r_wall, height[j])
    summ = 0
    for i in range(n):
    pot = min(max_left[i] , max_right[i])
    summ += max(0, pot - height[i])
    return summ

  • @earldominic3467
    @earldominic3467 9 днів тому

    Insanely hard? literally an easy problem.

  • @anandreddy1976
    @anandreddy1976 4 місяці тому +1

    class Solution:
    def trap(self, height: List[int]) -> int:
    n = len(height)
    max_L = float('-inf')
    max_R = float('-inf')
    L = 0
    R = n - 1
    count = 0
    if n == 0 or n == 1:
    return 0
    while L

  • @GeraudKAMENI
    @GeraudKAMENI 2 місяці тому

    This is not the best solution, and it's not a two-pointer approach either!!

  • @frederickgriffth4431
    @frederickgriffth4431 15 годин тому

    I hate this silly question!!!