Rotate List - Linked List - Leetcode 61 - Python

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

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

  • @floatingfortress721
    @floatingfortress721 11 หลายเดือนก่อน +5

    Clear explanation with clean code :)
    Step 1: Compute length of list, storing a reference to tail node
    Step 2: Find pivot node, which becomes new tail node
    Step 3: Rotate list by reconnecting both parts

  • @CST1992
    @CST1992 8 หลายเดือนก่อน +22

    6:49 "k modded -"
    Rude interruption there

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

    Best channel on Internet for DS and Algo 🎉 Thanks NeetCode ❤

  • @fazliddinfayziev-qg1vg
    @fazliddinfayziev-qg1vg 9 หลายเดือนก่อน

    I always watch your videos, when I cannot solve algorithms by myself. You are good at explaining. Thank you bro.

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

    When I solve coding problems and use itereation, somehow, I think of iteration of all elements I think it's because many problems need to iterate. I think this is really important to break what I have known and think about the solution fit the best to the problem I currently encounter. My first approach was making a list then iterate them. Time: O(n) Space: O(n). After your explanation, I only replaced with two points. and I thought, okay it looks nice. Then I saw your solution. It iterates one more though, you don't use any space I mean O(1). Hoo, great. I really learned a lot from your videos. Your eyes to see problems is absolutely stand out

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

    I love you man, thanks for getting me a job!

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

    great explanation! could you make a video on leetcode 105 Construct Binary Tree from Preorder and Inorder Traversal ?

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

    Hey why dont you use 2-pointers method from Leetcode 19?

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

    I wrote a recursive solution, it went good until the cases where the k number was huge appeared

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

    Best teacher ever! Thank you :)

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

    Great drawing! Thanks!

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

    NeetCode is GREAT!!!

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

    hello guys sorry i'm a beginner, when we assign the cur = head is it create a copy of the linked list or referencing the same linked list?

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

      it means cur is referencing the head of the same list!

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

    very clear explanation, thanks as usual :)

  • @AshokKota-p3w
    @AshokKota-p3w 3 หลายเดือนก่อน

    Thank you Brother

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

    Great video, keep up the incredible work! :)

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

    great explanation bro and thanks alot

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

    Why we are doing k=k% length

    • @AshokKota-p3w
      @AshokKota-p3w 3 หลายเดือนก่อน

      because it reduces the time even for k=2000000000 .we will get the answer by doing only two rotations.

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

    I love your way of explaining .

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

      I knoooow, right? Nobody else can do it like he does, I absolutely love the way he explains things

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

    would a fast/slow pointer to get to our desired point work here? how exactly would we implement that, though?

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

      ya even i thought the same

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

      I think that would work too, but in worst case for reaching at k-1 th node will have O(n) complexity, but in case of for loop implemented here the worst case is O(k)

    • @Prince-gt5ju
      @Prince-gt5ju 2 ปีที่แล้ว

      even i thought same but if k is larger than len of linked list then it wont work

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

      @@Prince-gt5ju just find the k mod len

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

    And what exactly happening in for loop
    New head = cur.next ie 4
    Cur.next = none means 3 -> none
    What is the value of tail.next ??

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

    i didnt understand the tail.next last line part after nhead become 45 how tail = head(12345) it should be added to the nhead , i am beginner pls help me

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

      we already broke the connection between 123 and 45 when we set cur.next=None after exiting the loop therefore, head would now be (1->2->3). Now we essentially put this head at the end of the tail (which is 4->5). This gives us the desired rotated list which is 4->5->1->2->3

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

    k = k % len(linked_list).....right?

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

    Great video, line 26: cur.next = tail.next works as well :)

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

      It does but for simplicity, None is preferred.

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

    I am the one who like this video for the 500 time

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

      you should like it off number if times 😂..otherwise the like would go away

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

    U a God

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

    you can also the method of converting in into a list, then using the rotate list method!

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

    In short: 2 pointer

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

    can you please make a tutorial about python data struture !! That would me more helpful

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

    clean & neet

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

    two passes

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

    why cant we use reversals algorithm on this question?

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

    I don't understand, isn't the k = k%len part just an optimization? Without it, it should just be slow but should still work. But if you comment it out, there are test cases that fail. Why is that?
    Edit: Oh I get it now. The formula for finding the break is length - k - 1. It's possible to have a huge K which sets it to negative, so you need the % to keep k smaller than length.

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

      if k > total len of linked list, then we will do more rotations than usual but the result will be same. so we only need to do actual remainder of k shifts, which is k % len

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

    Good explanation. But, some time can be saved by limiting the explanation of the problem.

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

    I THINK THE code is not working

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

    the skip length is 5 - 2 = 3; while we need i < 3 - 1, which means i starts from 0, and 1, it only moves one step, not two steps, that's why i DON'T understand the length - k - 1part; Could anyone explain more?

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

      it's k = 2 but index starts from 0 so hence minus