Sort Colors (LeetCode 75) | Dutch National Flag Problem | Full Solution with Visuals and Animations

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ส.ค. 2024

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

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

    Best solution I've seen for this problem. This channel is so underrated.

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

    YOU MADE IT THE SIMPLEST TO UNDERSTAND WITHOUT COMPLICATING THINGS!!!!! HAT'S OFF TO YOU!

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

    Man that’s the best explanation. I saw the coded solution for this problem which is same as yours but couldn’t wrap my head around it. Now I got it! Thank you!

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

    Your the best bro. The problem seems so easy with the way you explain it. Thanks again. Also this is my solution in python based on your approach
    class Solution:
    def sortColors(self, nums: List[int]) -> None:
    """
    Do not return anything, modify nums in-place instead.
    """
    start = 0
    middle = 0
    end = len(nums ) - 1
    while middle

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

    your teaching is next level

  • @omdongare2005
    @omdongare2005 7 หลายเดือนก่อน +1

    Your the best bro. The problem seems so easy with the way you explain it. Thanks again. Also this is my solution in python based on your approac

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

    best explanation Sir! I didn't watch the coding part before solving the problem. So I implemented it using if-else statements.After solving, I watched the last part. I found out you wrote it using switch cases. Understanding both versions make me confident in coding

  • @shwetayadav4244
    @shwetayadav4244 7 หลายเดือนก่อน +1

    your explanations are really amazing. In fact, best so far :) Please make more videos :)

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

    i dont know why i developed a fear for this problem. You made it very easy. Thanks.

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

      I was once in the same boat as you my friend. :)

    • @user-fq1nn1vc2p
      @user-fq1nn1vc2p หลายเดือนก่อน

      @@nikoo28 🙏🙏

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

    Thanks man this helped me a lot, loved your energy throughout the problem.

  • @Aspiringactor02
    @Aspiringactor02 9 วันที่ผ่านมา

    This is better than strivers i watched him then i watched you had a strongn feeling this would be good🎉

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

    Best explanation on TH-cam for the problem

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

    elegant solution. could you please add more questions on variety of topics like Stacks and Queues etc on your website ?

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

    Beautifully explained. could u please come up with topic based important questions

  • @user-yh2vm8ge2u
    @user-yh2vm8ge2u 4 หลายเดือนก่อน

    VERY NICE EXPLANATION WITH CLARITY . THANKS BHAIYA .

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

    Great explanation, good work

  • @mayankbadika3101
    @mayankbadika3101 7 หลายเดือนก่อน +1

    very good explanation! keep up the good work

  • @anayatk.007
    @anayatk.007 8 หลายเดือนก่อน +1

    Thank you for providing such fantastic content

  • @user-wj4eg4rx4j
    @user-wj4eg4rx4j 10 หลายเดือนก่อน +1

    Underrated!

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

    Great Explanation, Thank You.

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

    Great explaination! But I noticed one thing, in the first example, first swap is wrong as middle was at 0, so swap between start and middle should take place and start and middle should move and not between middle and end i.e 0 and 2 what you did because middle was not at 2.

  • @omsudhamsh.h
    @omsudhamsh.h 3 หลายเดือนก่อน

    Picture perfect mate!
    Thanks.

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

    Perfect explained. Ty sir!!

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

    you explain in a very good manner
    thank you

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

      So nice of you

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

    Thank you, ploblem solved. love you
    😁

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

    Thankyou sir your way of teaching is amazing

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

      It's my pleasure

  • @technicalguy.
    @technicalguy. 6 หลายเดือนก่อน

    Thank you soo much ❤❤

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

    Thank you

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

    Thanks

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

    Yay, someone I can understand

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

    great explanation

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

    Perfect!! Thanks

  • @shenth27
    @shenth27 4 หลายเดือนก่อน +1

    why don't we just loop through the entire array and count the 0's and 1's in seperate variables, then loop the array again and replace number of 0, 1, 2 in that order.

    • @DohaZilaoui-zq1gx
      @DohaZilaoui-zq1gx 4 หลายเดือนก่อน

      Its just of solution of 10000000000solutions that u should keep it in your mind

    • @nikoo28
      @nikoo28  4 หลายเดือนก่อน +1

      There are multiple ways to approach the problem. You want to do in the fastest way possible. It cannot get faster than a single scan

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

      but interviewer won't be impressed by this approach 😂😂

  • @SubhajitDas-mt7sn
    @SubhajitDas-mt7sn 2 หลายเดือนก่อน

    c++
    class Solution {
    public:
    void sortColors(vector& nums) {
    int start = 0;
    int middle = 0;
    int end = nums.size() - 1;
    while (middle

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

    i used selection sort

  • @user-un9ri4vt7l
    @user-un9ri4vt7l 5 หลายเดือนก่อน

    sir, I actually used in-built sort function, in leetcode ie. sort(nums.begin(),nums.end()), and it said said, u beat 100% users with c++. Can we do this or not???

    • @nikoo28
      @nikoo28  4 หลายเดือนก่อน +1

      You can, but your interviewer and ask you to solve it without sorting.

  • @KarthikC-ju4fx
    @KarthikC-ju4fx 2 หลายเดือนก่อน

  • @user-ik1qr9ez2b
    @user-ik1qr9ez2b 7 หลายเดือนก่อน

    why we are not incrementing mid when it is arr[mid] is 2?

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

      we swap it out, and put the 2 at the end. so we don't increment it. we need to see what came after the swap.

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

      @@nikoo28 I solved it on leetcode, i knew it would fail for some testcases and it did, I kept trying to understand what was the pattern of those test cases, your answer made understand that exact point. Thanks :)

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

    💯❤

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

    Bhai kaafi mast samjhaya.

  • @m-bk4um
    @m-bk4um 11 หลายเดือนก่อน

    good

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

    more easier!!!
    class Solution {
    public static void sortColors(int[] nums) {
    int zero = 0;
    int one = 0;
    int two = 0;
    for (int i: nums) {
    if(i==0){
    zero++;
    } else if (i==1) {
    one++;
    }else {
    two++;
    }
    }
    for (int i = 0; i < nums.length ; i++) {
    if(zero!=0){
    zero--;
    nums[i]= 0;
    } else if (one!=0) {
    one--;
    nums[i]= 1;
    }else if(two!=0) {
    two--;
    nums[i]= 2;
    }
    }
    }
    }

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

      But complexity?

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

    // Java code to sort an array of integers
    // with the help of single loop
    import java.util.*;
    class Geeks_For_Geeks {
    // Function for Sorting the array
    // using a single loop
    public static int[] sortArrays(int[] arr)
    {
    // Finding the length of array 'arr'
    int length = arr.length;
    // Sorting using a single loop
    for (int j = 0; j < length - 1; j++) {
    // Checking the condition for two
    // simultaneous elements of the array
    if (arr[j] > arr[j + 1]) {
    // Swapping the elements.
    int temp = arr[j];
    arr[j] = arr[j + 1];
    arr[j + 1] = temp;
    // updating the value of j = -1
    // so after getting updated for j++
    // in the loop it becomes 0 and
    // the loop begins from the start.
    j = -1;
    }
    }
    }
    Bro can we use this as well plz let me know

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

    Java Solution (Beats 100 %)
    class Solution {
    public void sortColors(int[] nums) {
    int n = nums.length ;
    int[] arr = new int[3] ;
    int element = 0 ;
    for(int i = 0 ; i < n ; i++){
    element = nums[i] ;
    arr[element]++ ;
    }
    int count = 0 ;
    int k = 0 ;
    for(int i = 0 ; i 0){
    nums[k] = i ;
    k++ ;
    count-- ;
    }
    }
    }
    }

  • @hwval-zw4hy
    @hwval-zw4hy 7 หลายเดือนก่อน

    Why not just count zeroes and ones and refill the array in place? 😂

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

      You will need to iterate over the array twice. First to count all the different 0 and 1s. Next iteration will be to actually fill all the elements.
      In the approach I discuss, we just do a single scan of the array.

    • @hwval-zw4hy
      @hwval-zw4hy 7 หลายเดือนก่อน

      @@nikoo28 I like your solution. One pass is good.
      Though counting involves same big O complexity and simpler approach.
      I also think your solution fits better definition of in-place. E.g. if these were objects, not integers to sort: mine solution wouldn't be acceptable.

  • @xyzsince
    @xyzsince 12 วันที่ผ่านมา

    Too difficult to understand what he says because of his accent.

    • @nikoo28
      @nikoo28  12 วันที่ผ่านมา

      which part were you unable to follow?