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

Поделиться
HTML-код
  • Опубликовано: 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 дня назад

      ruclips.net/video/s3KhqPjBPaQ/видео.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?