Merge Intervals (LeetCode 56) | Full Solution with diagrams and visuals | Interview Essential

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ก.ย. 2024

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

  • @bingochipspass08
    @bingochipspass08 7 หลายเดือนก่อน +6

    Great solution! I was confused as to why we were sorting intervals based on the starting value: "We want to find values closer to the start & not farther from it since it'll give us a higher chance of finding overlap..."

  • @arjunjadhav6275
    @arjunjadhav6275 ปีที่แล้ว +13

    now i can see improvement in myself, I solved this problem with exactly same approach ,though it took me two hours😅 and came here to see more optimized solustion

  • @shrirambalaji2915
    @shrirambalaji2915 ปีที่แล้ว +5

    Thank you so much brother...I just start watching your video 3 min into the video and I code the solution without completely watching the video.
    Your explanation is on point
    thank you again

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

      Cheers man!!

  • @shivaniverma4266
    @shivaniverma4266 7 หลายเดือนก่อน +2

    thank you nikhil you are doing great for creating such beautiful content for us , thats what make you unique fro other teachers your explaination keep doing keep posting , u inspire us

  • @spacelovertelugu44spacelov46
    @spacelovertelugu44spacelov46 9 หลายเดือนก่อน +2

    Topnotch best explanation for this problem

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

    wonderful explanation!! 🌟I would love to see you sharing some java essentials for coding in leetcode I was not knowing methods like asList and use of comparator . So thats the problem I phased int this video .Hope you will come up with video for this!!
    Eagerly waiting 👀
    Lots of love❤

  • @shaikhanuman8012
    @shaikhanuman8012 19 วันที่ผ่านมา

    Tqs for clear cut explanation on merge intervals. Tq very much

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

    Thank you very much for the great explanation and the solution to the problem. I got confused with the naming of interval and newInterval variables in the code, which could be used other way.

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

    Your tutorial is just awesome

  • @Divya-qt1cf
    @Divya-qt1cf 11 หลายเดือนก่อน +1

    Great explanation 🎉

  • @subee128
    @subee128 8 หลายเดือนก่อน +2

    Thanks

  • @YasarNaser-mr3if
    @YasarNaser-mr3if 2 หลายเดือนก่อน

    Which platform you use to explain the question in Problem Statements and Description?

    • @nikoo28
      @nikoo28  2 หลายเดือนก่อน

      GoodNotes 6

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

    Please Explain 4Sum Problem so that it can be helpful to all of us.

    • @nikoo28
      @nikoo28  ปีที่แล้ว

      Yep..will make a video on it too.

  • @everyontech2716
    @everyontech2716 ปีที่แล้ว

    using stack
    class Solution:
    def merge(self, intervals: List[List[int]]) -> List[List[int]]:
    # by using sort function, we use lamba to select key, in which x is our key
    # intervals.sort(key = lambda x:x[0]) # without it fail when intervals = [[1,4],[0,4]]
    stack = []
    for i in range(0,len(intervals)):
    # if stack not empty
    if stack and stack[0][1] >= intervals [i][0]:
    # overlapping condition comes..now update end point
    stack[0][1] = max(stack[0][1], intervals[i][1])
    else:
    stack.insert(0,intervals[i])
    # print(i)
    return stack

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

    awesome ❤

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

    Thanks bhaiya

  • @gyandeepdigra8461
    @gyandeepdigra8461 10 หลายเดือนก่อน +2

    nice yr

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

    public int[][] merge(int[][] intervals) {
    int n = intervals.length;
    int[][] ans = new int[n][2];
    Arrays.sort(intervals, new Comparator() {
    public int compare(int[] a, int[] b) {
    return a[0] - b[0];
    }
    });
    int ansIx = 0;
    ans[ansIx][0] = intervals[0][0];
    ans[ansIx][1] = intervals[0][1];
    for(int i = 1;i

  • @SuriyaT3001
    @SuriyaT3001 ปีที่แล้ว

    i think in if(condition) you used newinterval[1] instead of result[1] ... Becoz i see here you dont update the value in result list .. in else codition you updated new interval value ...am i right?..

    • @nikoo28
      @nikoo28  ปีที่แล้ว

      check it out...we do update the result list in the else block :)

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

      ​@@nikoo28 can you explain how do you update the result list in the else block? because i've only seen `result.add(newInterval)` and to my knowledge add is like pushing an element to a list. so am i missing something? or is there something that is wrong to my knowledge?
      because at the first you've already pushed the [1,3] into the result,
      and when did the result become [1,6] ? because i don't see any .set() function being called.

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

      @@daffapradana8557 it's getting updated in the if block where the newInterval[1] gets updated to the max.
      else block is for the disjoint array

  • @onkardheemate1066
    @onkardheemate1066 2 หลายเดือนก่อน

    Salute you sir🫡🫡🫡

  • @manavgora
    @manavgora 2 หลายเดือนก่อน

    I am putting you over striver