Rotate Image (Leetcode 48) | Full solution with examples visuals and animation | Study Algorithms

Поділитися
Вставка
  • Опубліковано 14 січ 2025

КОМЕНТАРІ • 53

  • @madhukumar313
    @madhukumar313 2 роки тому +29

    I really don't know why youtube is not recommending your videos in the top list...excellenet way of explaining the problem and the solution...starting with brute force method to optimized and then dry-run of the code...best videos ever...keep the videos rolling....don't get bogged down by the view counts...

    • @nikoo28
      @nikoo28  2 роки тому +4

      Thank you so much for the love. I hope youtube starts showing my videos on the top soon 😄

  • @sushmas660
    @sushmas660 Рік тому +4

    I don't usually leave comments. . So far, I haven't seen such a thorough explanation. thank you very much, sir

  • @anujgupta1484
    @anujgupta1484 11 місяців тому +1

    Bro you are truly a Gem for the coder community your explanation and teaching of each point are very understandable form.

  • @kundrapuharika6294
    @kundrapuharika6294 Рік тому +3

    A very few can explain with real life examples and I am happy to find this channel which are very informative👏

  • @justinking684
    @justinking684 Рік тому +2

    I was stuck in this problem almost a day to solve without transposing, after watching this I was clear now, Thanks bro, keep uploading videos

  • @arjunjadhav6275
    @arjunjadhav6275 Рік тому +2

    thanks for these ✨

    • @nikoo28
      @nikoo28  Рік тому

      glad you found them helpful

  • @rishav-ranjan
    @rishav-ranjan 2 роки тому +2

    this explanation helped me a lot

  • @impulse1712
    @impulse1712 Місяць тому +1

    Honestly speaking sir, you are one of the top well explained persons on the youtube, i really loved your way of explanation, thank you so much and keep doing many such things for us.

    • @nikoo28
      @nikoo28  Місяць тому

      You are most welcome

  • @anshika_1208
    @anshika_1208 20 днів тому

    best teacher for coding❤

  • @eminentm1655
    @eminentm1655 2 роки тому +2

    much appreciated Sir, thanks.

  • @nirajkumaryadav365
    @nirajkumaryadav365 11 місяців тому +4

    in the second loop why you didnt use (n+1)/2 instead of n/2 ?

  • @vishwasankar14
    @vishwasankar14 11 місяців тому +1

    Thank you! You are the best man!

  • @PoojaSharma0310
    @PoojaSharma0310 Рік тому +2

    You solution is easy and straight forward. One question, why are you running loops (n+1)/2 and n/2? Thanks

    • @nikoo28
      @nikoo28  Рік тому +1

      that is just because how we have to rotate the image. you need to visualize where the final pixels/integers will actually go. Then design your loop. So we are going one ring at a time. When you complete the first ring, you have already covered the first row and the last row. Hence the "/2".
      hope this helps.

  • @ChaitanyaPimparkar
    @ChaitanyaPimparkar 3 роки тому +1

    of immense help

  • @EgorChebotarev
    @EgorChebotarev 2 місяці тому

    nice explanation

  • @Babas420
    @Babas420 Рік тому +3

    you have not explained how you came up with all the indices, however thanks for the final thoughts!

    • @nikoo28
      @nikoo28  Рік тому

      the images where I show how a rotation takes place, defines the indices

  • @sanketsuryawanshi
    @sanketsuryawanshi 3 роки тому +1

    Thanks sir😇

  • @sibaathahmed1984
    @sibaathahmed1984 Рік тому +1

    How u define limits as n+1/2 and n/2 respectively explain pls😢

    • @nikoo28
      @nikoo28  Рік тому

      look at the part 7:10, 5 starts from 0 and reaches "n"
      If you run the loop to "n" then you will reach 5 again. We do not want that. We want to stop at middle. That is how the 4 way swap is working

  • @mehakdhiman5729
    @mehakdhiman5729 9 місяців тому +1

    Can you please explain how will the elements 9,7,14,2 get swapped when we are running the inner loop only till j < n/2 which in this case would mean that j=0 or j=1. What happens to the elements that are at j=2. How will they get swapped?

    • @nikoo28
      @nikoo28  8 місяців тому

      Watch the visual demo I have in the problem

  • @unemployedcse3514
    @unemployedcse3514 4 місяці тому

    I was above skip the vedio, but explanation is awesome ❤

  • @ksrinivasacharyulu873
    @ksrinivasacharyulu873 3 місяці тому

    Superb explanation bhaiyya....lekin problem solving logic kaise develop karna hai...ek video main bathado bhaiyya

  • @ssnprakash
    @ssnprakash Місяць тому

    it works for only square matrices, right?

  • @krrishh7
    @krrishh7 7 місяців тому

    As always very descriptive and neat explanation bro👍
    Regarding the loop bounds, i think it would be best the inner loop(j) runs for +1 iteration, instead of the outer loop(i).
    So conceptually, from your logical explanation, for each ring which is the ith loop, all elements in the ring get rotated as part of the j iterations, then we move to the inner ring etc.
    But if we keep i loop for more iteration(N+1/2), for odd matrixes like 3*3 say, the inner ring is just 1 element, so ideally there shouldn't be a second ring to be rotated/fixed (as its only 1 element matrix[1][1]). but we can see here that the last rotation in the outer loop is happening as part of the inner ring (i=1) iteration (which ideally should have got completed as part of i=0 itself). If we keep j range from 0 to (N+1)/2, this will get fixed. Hope that makes sense.

  • @AnishMokashi-gz5kl
    @AnishMokashi-gz5kl 6 днів тому

    also explain how did you took matrik[n-1-j] [i]

  • @ssss22144
    @ssss22144 2 місяці тому

    super brother

  • @suneosama939
    @suneosama939 Рік тому +2

    Brother can you explain for me why you know the syntax concept at each position, I understand thr concept you taugh but don't know how to write it in code ☹️☹️ how to know and write syntax at each position i wanna write 😢 so hard for me bro 😭, what is matrix[n-1-j] and matrix[n-1-i][n-j-1], matrix[j][n-1-i], and mattix[i][j] so hard brother

  • @shubhambarange
    @shubhambarange Рік тому

    100% effect 100% Clarity

  • @xinyangli7103
    @xinyangli7103 8 місяців тому

    i understand why n/2 because in the inner layer we only need to do half, but i dont understand why outer layer is n+1/2 , shouldn't they be the same since column and row are the same dims?

    • @nikoo28
      @nikoo28  8 місяців тому

      Try to trace the path with the explanation I give. You will get the indices yourself.

  • @nishanthsunkara1160
    @nishanthsunkara1160 10 місяців тому

    Could someone explain why the final elements (9, 7, 14, 2) in outer ring will get swapped, when we moved to inner ring i.e., i=1 but not when we are iterating at outer ring i.e., i=0 ?

    • @nikoo28
      @nikoo28  10 місяців тому

      please follow the explanation instead of going straight to the code.

  • @franly656
    @franly656 Рік тому

    hi Nikhil Lohia, i have a question, how to rotate matrix 45 degrees so the matrix size will increase, i trying to make the solution and now i want to give up (i have tried straight 5 hours btw). Can you make this solution a video pls.

    • @nikoo28
      @nikoo28  Рік тому

      haven't thought about a 45 degree use case. Can you find a sample question?

  • @saurabhkukreja1982
    @saurabhkukreja1982 Рік тому

    Can you explain the position of indices , its confusing where to consider n-1-i Or n-j-1 . Please explain
    Otherwise best explanation of the question

    • @nikoo28
      @nikoo28  Рік тому

      walk through the explanation step by step. See how you are starting from outside and then going in 1 row/column at a time. Trace out and try printing the elements. That will explain everything.

  • @kavyakooks5305
    @kavyakooks5305 11 місяців тому

    I think the time complexity must be O(N) , as each cell is getting read once and written once.

    • @nikoo28
      @nikoo28  10 місяців тому

      correct, but we know that the edge size is n. So how many elements will you have? That is n^2
      Think like this, if the edge size is 5, then the area of square is 5^2 = 25.
      Since it is a cube, we have n^2 elements.

  • @vikshityadav9886
    @vikshityadav9886 3 місяці тому

    bhai dry run smjh aa jata hai per code smjh nhi aata thoda smja diya kro

  • @suneosama939
    @suneosama939 Рік тому

    how to know the position likr bottom left is matrix[n - 1 - j][i]? It's hard to understand that and why above for loop (i < (n+1) / 2) and the second loop (j < n / 2), how do you know the syntax at each posititon top left top right bottom left bottom right, it's hard to understand 😢 can anybody explain how to know syntax at each posititon, omg so hard 😢☹️

    • @nikoo28
      @nikoo28  Рік тому

      Take it step by step. Did you watch the entire video? I explain the thought process.
      Where to start and then where to end.
      What part are you facing a problem with?

  • @Nature_Lover_Animal_Lover
    @Nature_Lover_Animal_Lover Місяць тому

    Bit more explanation is needed in the for loop

  • @mayankpathak6827
    @mayankpathak6827 7 місяців тому

    sir you are doing awesome but your voice of video is very low

    • @nikoo28
      @nikoo28  6 місяців тому

      i have fixed that in my latest videos. Check them out and please let me know

  • @omsudhamsh.h
    @omsudhamsh.h 7 місяців тому

    ok simple
    firstly Transpose the given matrix and then reverse it.
    -------------------------------------------------------
    Runtime
    0
    ms
    Beats
    100.00%
    of users with Java