Reverse Substrings Between Each Pair of Parentheses - Leetcode 1190 - Python

Sdílet
Vložit
  • čas přidán 3. 08. 2024
  • 🚀 neetcode.io/ - A better way to prepare for Coding Interviews
    🧑‍💼 LinkedIn: / navdeep-singh-3aaa14161
    🐦 Twitter: / neetcode1
    ⭐ BLIND-75 PLAYLIST: • Two Sum - Leetcode 1 -...
    Problem Link: leetcode.com/problems/reverse...
    0:00 - Read the problem
    0:47 - Drawing Explanation 1
    8:02 - Coding Explanation 1
    10:58 - Drawing Explanation 2
    18:37 - Coding Explanation 2
    leetcode 1190
    #neetcode #leetcode #python
  • Věda a technologie

Komentáře • 39

  • @juanmacias5922
    @juanmacias5922 Před 24 dny +45

    1:30 NeetCode loves us all, confirmed.

  • @harshkhandelwal6998
    @harshkhandelwal6998 Před 24 dny +9

    Dude, i would have never come up with that second solution in my wildest dreams

  • @user-vk6ov4it8q
    @user-vk6ov4it8q Před 24 dny +10

    I actually thought the optimal sol but wasnt confident if i will code that properly. Nice Explanation NEET

  • @coolsai
    @coolsai Před 24 dny +2

    Thanks for the second solution Similar to you I also got first one crt !

  • @MP-ny3ep
    @MP-ny3ep Před 24 dny +2

    I was having a hard time understanding the O(n) time approach. You explained it so well. Thank you !

  • @EbrahemDroobi
    @EbrahemDroobi Před 21 dnem

    Thanks for the awesome explanation
    I was very close to coming up with the linear time solution on my first try, But I got stuck on the two indexes approach until I ran out of time for solving the question. I then found your video online and realized how close I was if only I thought of creating a pair using a stack rather than stick to the two pointers approach.
    Thanks for the informative and amazing video NeetCode!

  • @ABC-op2nz
    @ABC-op2nz Před 21 dnem

    The linear solution literally blew my mind....I think the harder part is to turn observation into an algorithm because I noticed the alternating pattern but I could not deduce how one pointer could just write the solution if you give it the right pivot points and jumps

  • @tuandino6990
    @tuandino6990 Před 24 dny +3

    Nah im happy with my n2 solution, never could have come up with that linear solution

  • @chien-yuyeh9386
    @chien-yuyeh9386 Před 24 dny

    Thanks for sharing!🎉

  • @UzairAhmed-gn5su
    @UzairAhmed-gn5su Před 23 dny

    the man who came wtih approach two he is a genius Wooow.Kudos

  • @wonderweebwoman
    @wonderweebwoman Před 23 dny

    Really cool solution, the second one!

  • @vijethkashyap151
    @vijethkashyap151 Před 23 dny

    BEAUTIFUL!

  • @Igoy_05
    @Igoy_05 Před 23 dny +1

    We need Dice roll simulation problem (Hard).

  • @shibainu9969
    @shibainu9969 Před 24 dny +1

    Great video! Are there other leetcode problems that we can apply the second wormhole solution?

  • @shridhanushreddydappili7371

    I can't imagine , I actually though of the same 2nd method just as he said after banging my head for 40 mins

  • @user-ch9ln2ne2g
    @user-ch9ln2ne2g Před 24 dny

    I had solved the problem in the same way as the 1st approach
    but it didn't beat that many people 😅

  • @ahmedelhadary1899
    @ahmedelhadary1899 Před 24 dny

    thanks for that great video, I have one question which is should I solve leetcode problems after finishing each topic (I mean solving problems on each specific topic) or should I wait until I finish the full DSA roadmap of whatever course I'm taking then start solving problems on the full DSA?

  • @deepaksingh7042
    @deepaksingh7042 Před 23 dny +1

    SIMPLE CODE:
    With same intuition , since the characters in even numbered paranthesis will not get reversed and the characters in odd numbered will get reversed.
    We can simply use 2 pointers (start=0 and end=N-1) for the result array which will have same size as original array. Then do the following -
    1. Iterate the original array using "current" pointer starting from index 0.
    2. Also maintain an integer variable "count" which will keep track of the count of paranthesis in which our "current" pointer lies. If we encounter '(' then do ++count, and if we encounter ')' then do --count.
    2. If current character lies in even numbered paranthesis (i.e. when "count" is even) then write that character at "start" position in result array and move "start" to next position.
    3. If current character lies in odd numbered paranthesis (i.e. when "count" is odd) then write that character at "end" position in result array and move "end" one position backward.

  • @freecourseplatformenglish2829

    Although I came up with O(n) solution initially and failed to really code it up. I am settling for O(n^2) solution for being intuitive and that what I can actually code up during interview.

  • @karthik_sama
    @karthik_sama Před 23 dny

    This was fun

  • @sojwalgosavi4406
    @sojwalgosavi4406 Před 23 dny

    kinda had the intution for second algo but could not code

  • @Sulerhy
    @Sulerhy Před 24 dny

    GODLIKE

  • @samarthjain5015
    @samarthjain5015 Před 24 dny +2

    i love u 2

  • @gul9055
    @gul9055 Před 23 dny

    I was so close. 😂

  • @jagrutitiwari2551
    @jagrutitiwari2551 Před 24 dny

    I have sent you a LinkedIn request too.

  • @krr4k3n96
    @krr4k3n96 Před 24 dny

    This exact one in C++...
    class Solution {
    public:
    string reverseParentheses(string s) {
    int n = s.length();
    unordered_map mp;
    stack st;
    for (int i = 0; i < n; i++) {
    if (s[i] == '(')
    st.push(i);
    else if (s[i] == ')') {
    int j = st.top();
    st.pop();
    mp[i] = j;
    mp[j] = i;
    }
    }
    int i = 0;
    int dir = 1;
    string ans = "";
    while (i < n) {
    if (s[i] == '(' || s[i] == ')') {
    i = mp[i];
    dir = -1 * dir;
    } else {
    ans += s[i];
    }
    i += dir;
    }
    return ans;
    }
    };

  • @MohanRam-mq2pk
    @MohanRam-mq2pk Před 24 dny

    I got the intuition on O(n) but I couldn't able to code it up... I don't know where I'm lacking in...

  • @PiyushYadav-pl9jm
    @PiyushYadav-pl9jm Před 24 dny +1

    waiting for the course on python

    • @AchintBhat
      @AchintBhat Před 23 dny

      czcams.com/video/s3KhqPjBPaQ/video.htmlsi=b6w07rsbGdAf7A1b

  • @MeowsStore
    @MeowsStore Před 24 dny

    i'm second 😅 can i have a connect from you on linkedin

  • @beinghappy9223
    @beinghappy9223 Před 21 dnem

    Parentehsis problems means stack:

  • @fabricio5p
    @fabricio5p Před 23 dny

    i love you

  • @dossymzhankudaibergenov8193

    I solved it in same way as in 394.decode string

  • @Kabilan-v-143
    @Kabilan-v-143 Před 24 dny

    "a(bcdefghijkl(mno)p)q" can any one explain this example

  • @lemons.3018
    @lemons.3018 Před 24 dny

    I'm first

  • @TheSilentLooters
    @TheSilentLooters Před 24 dny +1

    my solution
    Runtime
    28ms
    Beats
    93.43%
    Memory
    16.50MB
    Beats
    81.94%

  • @gangeypatel624
    @gangeypatel624 Před 24 dny

    lol I am early

  • @PiyushYadav-pl9jm
    @PiyushYadav-pl9jm Před 24 dny

    who tf actually came up with the second approach?