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

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ส.ค. 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
  • วิทยาศาสตร์และเทคโนโลยี

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

  • @juanmacias5922
    @juanmacias5922 24 วันที่ผ่านมา +45

    1:30 NeetCode loves us all, confirmed.

  • @harshkhandelwal6998
    @harshkhandelwal6998 24 วันที่ผ่านมา +9

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

  • @user-vk6ov4it8q
    @user-vk6ov4it8q 24 วันที่ผ่านมา +10

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

  • @coolsai
    @coolsai 24 วันที่ผ่านมา +2

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

  • @MP-ny3ep
    @MP-ny3ep 24 วันที่ผ่านมา +2

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

  • @EbrahemDroobi
    @EbrahemDroobi 21 วันที่ผ่านมา

    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 21 วันที่ผ่านมา

    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 24 วันที่ผ่านมา +3

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

  • @chien-yuyeh9386
    @chien-yuyeh9386 24 วันที่ผ่านมา

    Thanks for sharing!🎉

  • @UzairAhmed-gn5su
    @UzairAhmed-gn5su 23 วันที่ผ่านมา

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

  • @wonderweebwoman
    @wonderweebwoman 23 วันที่ผ่านมา

    Really cool solution, the second one!

  • @vijethkashyap151
    @vijethkashyap151 23 วันที่ผ่านมา

    BEAUTIFUL!

  • @Igoy_05
    @Igoy_05 23 วันที่ผ่านมา +1

    We need Dice roll simulation problem (Hard).

  • @shibainu9969
    @shibainu9969 24 วันที่ผ่านมา +1

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

  • @shridhanushreddydappili7371
    @shridhanushreddydappili7371 23 วันที่ผ่านมา

    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 24 วันที่ผ่านมา

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

  • @ahmedelhadary1899
    @ahmedelhadary1899 24 วันที่ผ่านมา

    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 23 วันที่ผ่านมา +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
    @freecourseplatformenglish2829 23 วันที่ผ่านมา

    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 23 วันที่ผ่านมา

    This was fun

  • @sojwalgosavi4406
    @sojwalgosavi4406 23 วันที่ผ่านมา

    kinda had the intution for second algo but could not code

  • @Sulerhy
    @Sulerhy 24 วันที่ผ่านมา

    GODLIKE

  • @samarthjain5015
    @samarthjain5015 24 วันที่ผ่านมา +2

    i love u 2

  • @gul9055
    @gul9055 23 วันที่ผ่านมา

    I was so close. 😂

  • @jagrutitiwari2551
    @jagrutitiwari2551 24 วันที่ผ่านมา

    I have sent you a LinkedIn request too.

  • @krr4k3n96
    @krr4k3n96 24 วันที่ผ่านมา

    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 24 วันที่ผ่านมา

    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 24 วันที่ผ่านมา +1

    waiting for the course on python

    • @AchintBhat
      @AchintBhat 23 วันที่ผ่านมา

      th-cam.com/video/s3KhqPjBPaQ/w-d-xo.htmlsi=b6w07rsbGdAf7A1b

  • @MeowsStore
    @MeowsStore 24 วันที่ผ่านมา

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

  • @beinghappy9223
    @beinghappy9223 21 วันที่ผ่านมา

    Parentehsis problems means stack:

  • @fabricio5p
    @fabricio5p 23 วันที่ผ่านมา

    i love you

  • @dossymzhankudaibergenov8193
    @dossymzhankudaibergenov8193 24 วันที่ผ่านมา +1

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

  • @Kabilan-v-143
    @Kabilan-v-143 24 วันที่ผ่านมา

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

  • @lemons.3018
    @lemons.3018 24 วันที่ผ่านมา

    I'm first

  • @TheSilentLooters
    @TheSilentLooters 24 วันที่ผ่านมา +1

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

  • @gangeypatel624
    @gangeypatel624 24 วันที่ผ่านมา

    lol I am early

  • @PiyushYadav-pl9jm
    @PiyushYadav-pl9jm 24 วันที่ผ่านมา

    who tf actually came up with the second approach?