Spiral Matrix

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

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

  • @KevinNaughtonJr
    @KevinNaughtonJr  4 ปีที่แล้ว +6

    spirals are FUN
    instagram: instagram.com/kevinnaughtonjr/
    twitter: twitter.com/kevinnaughtonjr

  • @randeepsiddhu
    @randeepsiddhu 4 ปีที่แล้ว +76

    This is how you realize the importance of meaningful variable names

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

    I had the same approach to solve the problem but struggled for 3 hours because of the variable names. Thanks Kevin.

  • @Srijeet040689
    @Srijeet040689 4 ปีที่แล้ว +7

    Absolutely beautiful! Kudos for the explanation, and for choosing meaningful variable names :)

  • @shwetagoel31
    @shwetagoel31 4 ปีที่แล้ว +7

    This is one of the cleanest solutions! Many thanks!

  • @dhruvseth
    @dhruvseth 4 ปีที่แล้ว +6

    Hello great video Kevin, can you please explain why you had the && res.size() < size check condition with every for loop, I am a little lost. Thank you!

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

    What is the practical application of doing this - other than for a job interview?

  • @OverLordOfDa3rdWorld
    @OverLordOfDa3rdWorld 4 ปีที่แล้ว +19

    Wow, I thought about doing it this way but was afraid to because I thought the numerous for loops inside the while loop seemed wrong but apparently not lol Thanks Kevin! Just one question, why have the same check inside the for loops when the while loop does it for you ?

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

      The nums.size() < size check is to help with dealing with certain edge cases that makes the algo (for some odd reason) run backwards like this case:
      [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
      without the check, the output is:
      [1,2,3,4,8,12,11,10,9,5,6,7,6]
      which is incorrect

    • @chintalapativenkataramarahul
      @chintalapativenkataramarahul 3 ปีที่แล้ว +6

      I think we need to check the same condition for all for-loops because the ArrayList may get filled mid-way of the while loop(i.e maybe after running only left to right or after top to bottom) and in that case, we don't want the rest of the for-loops to run in that iteration.

  • @surabhipriya4333
    @surabhipriya4333 4 ปีที่แล้ว +4

    got this question for my interview today.. Wish i had seen this before.

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

      Did you end up getting the job? and what company gave this question?

    • @surabhipriya8386
      @surabhipriya8386 4 ปีที่แล้ว

      @@mohanaravind7656 Microsoft ! No I got rejected in their final round

    • @southece
      @southece 3 ปีที่แล้ว

      Same with me. I got this question in interview. I was not able to solve it and got rejected. Interview had only this question.

  • @vivekkumarmaheshwari3007
    @vivekkumarmaheshwari3007 2 ปีที่แล้ว

    This is the best solution because the approach seems pretty obvious.

  • @ri7_cars
    @ri7_cars 4 ปีที่แล้ว

    This is a clean solution, very easy to understand and implement

  • @subhamagarwal476
    @subhamagarwal476 2 ปีที่แล้ว

    watched it once and got it . Thanks kevin.

  • @itsbenteller1
    @itsbenteller1 2 ปีที่แล้ว

    Such a clean solution. Thank you!

  • @igornesterov711
    @igornesterov711 3 ปีที่แล้ว

    Thanks! Great explanation! And as already mentioned deal in variable names!

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

    Thank you for all your work man :) I'm going to have an interview for interning at Facebook this month. First missing positive of LC or more videos related to Binary Search and strategies to apply on arrays would be AWESOME. Thank you.

  • @PallNPrash
    @PallNPrash 4 ปีที่แล้ว

    v nice Kevin...like the way you explain your logic, even as you are typing the solution

  • @Homelander007
    @Homelander007 4 ปีที่แล้ว +6

    Thanks Kevin . can you plz upload this: 1192
    Critical Connections in a Network

  • @aswink1505
    @aswink1505 4 ปีที่แล้ว +3

    love your coding videos.thanks for your help. I have a quick question. If you have 5+ years of software engineer experience, should we only expect medium or hard problems?

    • @KevinNaughtonJr
      @KevinNaughtonJr  4 ปีที่แล้ว

      Thanks Aswin and honestly I think it varies regardless your level of experience...i kind of think the level of difficulty you get is up to chance...but for system design interviews I think the more experience you have the more they'll expect from you!

    • @aswink1505
      @aswink1505 4 ปีที่แล้ว

      got it. thanks for the info

    • @KevinNaughtonJr
      @KevinNaughtonJr  4 ปีที่แล้ว

      @@aswink1505 anytime

  • @pewdiepieschair2693
    @pewdiepieschair2693 3 ปีที่แล้ว

    You sir are an absolute legend

  • @lakshaygupta6180
    @lakshaygupta6180 4 ปีที่แล้ว

    Thanks Kevin!! .... nice explanation

  • @vishweshthakur2234
    @vishweshthakur2234 4 ปีที่แล้ว +4

    i think in second loop of for where list is added , it should be
    nums.add(matrix[i][right]) ; in place of nums.add(matrix[top][right]) , else it will repeat 6

  • @kamalkumar7133
    @kamalkumar7133 4 ปีที่แล้ว

    whole code in a single screen. GREAT

  • @all-open-source
    @all-open-source 4 ปีที่แล้ว

    Awesome. Seems like the easiest method you come up with.

  • @PramodRj
    @PramodRj 3 ปีที่แล้ว

    Good JOb Kevin.

  • @lordmill4572
    @lordmill4572 3 ปีที่แล้ว

    dude you are genius

  • @sumitanglekar6309
    @sumitanglekar6309 4 ปีที่แล้ว

    You just made it look so easy again 🙌 Kudos

  • @mnchester
    @mnchester 2 ปีที่แล้ว

    amazing explanation!

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

    Hey , i guess the 2nd for loop instead of top it should be [i]

  • @mohammedatique8389
    @mohammedatique8389 3 ปีที่แล้ว

    thanks

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

    lovely work, Kev!

  • @danielzuzevich4161
    @danielzuzevich4161 3 ปีที่แล้ว

    Ty

  • @ishanrtripathi
    @ishanrtripathi 4 ปีที่แล้ว +4

    Hi Kevin, Can you tell me what software you use to edit the videos with the music in the beginning and the end. Is it some mobile app or some Adobe software ?

  • @chintalapativenkataramarahul
    @chintalapativenkataramarahul 3 ปีที่แล้ว

    Thank you!

  • @abhishekmulay759
    @abhishekmulay759 4 ปีที่แล้ว

    Amazing video. Keep up the good work.

  • @shubamsharma5745
    @shubamsharma5745 4 ปีที่แล้ว

    Thankyou sir for awesome and such beautiful explanation.

  • @naveen.v1090
    @naveen.v1090 2 ปีที่แล้ว

    thank u

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

    hey kevin
    can u suggest coding sites apart from leetcode for entire preparation for google or Amazon or Microsoft interview.
    thanks 🙂

    • @KevinNaughtonJr
      @KevinNaughtonJr  4 ปีที่แล้ว

      I personally think LeetCode is the best but you can also check out hacker rank for other questions and pramp for mock interviews! If you need help preparing or want to practice mock interviews etc I offer those services too here: www.patreon.com/KevinNaughtonJr

  • @anirudhatalmale5575
    @anirudhatalmale5575 4 ปีที่แล้ว

    awesome solution

  • @rohananjaria1009
    @rohananjaria1009 3 ปีที่แล้ว

    You look like Ozan Kabak from Liverpool FC

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

    this one doesnt work, but the one on your github does. this one works for 3x3 but not for 3*4

    • @ravicrazyster
      @ravicrazyster 3 ปีที่แล้ว

      yup, it doesn't work for 3*4

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

    duddddeeeeee, I was replaying the video SOOO many times cause i didn't understand why we wrote matrix[top][right] and not matrix[ i ][right]!! and then when i gave up and continued the video it was corrected. F in the chat

  • @sumitghewade2002
    @sumitghewade2002 4 ปีที่แล้ว

    Thank you so much for breaking it down so neatly.

  • @kyle7382
    @kyle7382 4 ปีที่แล้ว

    function createMatrix(n, m = n) {
    let i = 1;
    return new Array(m).fill(null).map(() => {
    return new Array(n).fill(null).map(() => i++)
    })
    }
    function spiralTraverseMatrix(matrix) {
    const items = [];
    if (!matrix.length) return items;
    let top = 0;
    let bottom = matrix.length - 1;
    let left = 0;
    let right = matrix[0].length - 1;
    const size = (bottom + 1) * (right + 1);
    while(
    top

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

    The inotro and outro music are rather goofy, but it is *so* nice to hear an algorithm explained in normal, US accent English instead of, well, you know!

    • @KevinNaughtonJr
      @KevinNaughtonJr  4 ปีที่แล้ว

      SpectatorAlius if you like my explanations check out the interviewing service I just released thedailybyte.dev/?ref=kevin

  • @riya6549
    @riya6549 3 ปีที่แล้ว

    so my uni wants to print a matrix in a spiral form...but the matrix is a 3D lmao

    • @y.5107
      @y.5107 2 ปีที่แล้ว

      holy shit I fail doing it in 2d

  • @kicksomeup6998
    @kicksomeup6998 2 ปีที่แล้ว

    Wow, the nums.size() check was amazing.

  • @kunalkavthekar3747
    @kunalkavthekar3747 4 ปีที่แล้ว

    hey Kevin,
    great work on these problems, helped me understand a lot of patterns.
    can you just link the songs that you put in your videos?
    you have a great playlist!

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

    hey kevin!
    what kind of a moustache is that!

  • @Oscar-ig2gm
    @Oscar-ig2gm 3 ปีที่แล้ว

    I wrote the same solution)

  • @sowmyasg8127
    @sowmyasg8127 4 ปีที่แล้ว

    finallyyy understoodd :)) thankss a lott

  • @Simple_person221
    @Simple_person221 4 ปีที่แล้ว

    Its wrong answer, even your screen says it wrong answer, just compare output and expected output

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

    Used to watch Indians teach on TH-cam. Now I watch Kevin. I love you

  • @bismeetsingh352
    @bismeetsingh352 4 ปีที่แล้ว

    I solved recursively: leetcode.com/problems/spiral-matrix/discuss/847626/Recursive-Solution

  • @penmaniac
    @penmaniac 4 ปีที่แล้ว

    There are all Indians in The Comment section 😂😂😂😂