L16. Sliding Window Maximum | Stack and Queue Playlist

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ม.ค. 2025

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

  • @kshitijsingh879
    @kshitijsingh879 5 หลายเดือนก่อน +24

    We use a deque to maintain the k elements and find maximums easily.
    When we find an element in the array greater than the top element, we remove lower elements from the deque since the max is changing.
    We continue this until we find a bigger element in the deque than the current element in the array.
    When i > k - 1, we add the answer because our window is at least k elements wide.
    We also maintain the correct size by checking i - k

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

      nice summarisation

    • @Gokul-gkl
      @Gokul-gkl หลายเดือนก่อน

      yes but in the worst case it gives O(n*n)(~brute force) , which should be avoided right
      that's why we are using the extra space

  • @sohaildarwajkar9979
    @sohaildarwajkar9979 4 หลายเดือนก่อน +13

    I dont comment usually but i would suggest to look the same que from his old playlist. He has explained better there.

    • @arunm619
      @arunm619 28 วันที่ผ่านมา +1

      Only one person can do better than him. That's himself.

    • @amanpreetsinghbawa1600
      @amanpreetsinghbawa1600 16 วันที่ผ่านมา

      Actually, if you look at the complete playlist he has actually helped build the NSE, PSE & monotonic stack based concepts. So if one follows that, the intuition for the above will be quiet easy. TBH I was able to figure out the intuition, but I got stuck as I had never applied Deque based DS yet so that was the learning for me.

  • @AtharvaRao0104
    @AtharvaRao0104 5 หลายเดือนก่อน +21

    some unimportant info:
    deque is pronounced as “deck.” for eg: deck of cards .. it is short form of double-ended-queue .. anyway concept is important not names

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

      wow

  • @studystuff51
    @studystuff51 5 หลายเดือนก่อน +10

    Bhaiya, after seeing you solve the example, without even seeing you write the pseudo code I was able to solve the question by myself. Thing is, I am not able to think of the approach till you solved the example. I don't know how to come up with the approach myself.

  • @SurajKumar-ku1lg
    @SurajKumar-ku1lg 5 หลายเดือนก่อน +4

    best video on sliding window maximum problem

  • @tazanteflight8670
    @tazanteflight8670 4 หลายเดือนก่อน +2

    thanks for showing a unsorted data version. Data is never sorted!

  • @himalayadebbarma-we4pt
    @himalayadebbarma-we4pt 5 หลายเดือนก่อน +2

    Thanks Striver

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

    can we use a deque of size k
    1. if deque empty: insert element -> update maxi
    2. while size of deque < k:
    add element and update maxi
    3. if size of deque == k:
    update our ans array with maxi and remove the first element from the deque.

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

    His previous video on same topic explains same concept very detaily

  • @zaffarzeshan1308
    @zaffarzeshan1308 5 หลายเดือนก่อน +42

    striver not teaching well as compare with old video only expression giving

    • @rishabhkansal5811
      @rishabhkansal5811 5 หลายเดือนก่อน +3

      Yes, I also felt the same. He is not teaching in this playlist like earlier all playlist

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

      I agreed. This Stack and Queue playlist is bad tbh.
      Bhai ek toh dono data structures ko ek hi playlist mein kyu add kar diya 🤦‍♂️

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

      Felt the same, i am going back and checking his old video:)

    • @Ayush37262
      @Ayush37262 5 หลายเดือนก่อน +3

      Bhai course launch karne ke baad mindset pura badal jaata hai...

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

      @@Ayush37262 right

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

    i tried implementing a max queue but i dont know where I am failing , even chatgpt is not suggesting any good corrections.
    void push(queue& q,int& Max,int x){
    if(x>Max) {
    q.push((x-Max)+x);
    Max = x;
    }
    else q.push(x);
    }
    void pop(queue& q,int& Max){
    if(q.front() >= (Max + Max - q.front())){
    Max = Max - (q.front()-Max);
    q.pop();
    }
    else q.pop();
    }
    int front(queue& q,int& Max){
    if(q.front()>Max){
    return Max;
    }
    else return q.front();
    }
    vector maxSlidingWindow(vector& nums, int k) {
    int n = nums.size();
    vector res(n-k+1);
    queue q;
    int maxq = -100000;
    for(int i = 0;i

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

    Hello everyone, my placements are starting in March 2025. I have started learning DSA using the TakeUforward SDE sheet and have completed the first 10 problems. However, I was able to understand only 3 of them, and I am struggling to build logic on my own. I am unsure if I am on the right track or where to start. Could you please give me some advice on how to approach solving problems independently and where I should begin? I have programming knowledge but need guidance. I am not aiming to join a big MNC company, but I want to prepare effectively.

    • @kishoregowda8210
      @kishoregowda8210 24 วันที่ผ่านมา +1

      Here are few tips from my personal experience.
      1) Get your basics strong. No matter how much time you spend on DSA, if you don't have your basics correct, you will struggle.
      2) Try to visualize the problem. According to me if you are able to visualize the question, you have already solved 50% of the problem.
      3) Try to start with basic questions like on string, arrays, recursion. Don't concentrate more on time complexity in the beginning, but you should be able to come up with brute force approaches.
      4) Move to concept wise questions only once you have done the above pointers. This is the flow i followed Arrays -> Binary Search -> Sorting -> Linked List -> Stacks&Queues -> Greedy -> Binary Tree -> Graphs -> Dynamic Programming. You should be able to come up with optimized approach for all if you are looking for FAANG companies.

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

    Who's here after 50/51 testcases passed 😢

  • @TOI-700
    @TOI-700 3 หลายเดือนก่อน

    GOT YOU BOTHER RAJ

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

    From where can I understand it 😂

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

    thanks bhaiya

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

    understood!

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

    thanks sir

  • @abhinavabhi3568
    @abhinavabhi3568 25 วันที่ผ่านมา

    Understood

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

    tysm sir

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

    Bhya ❤👍👍

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

    UNDERSTOOD;

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

    understood

  • @TOI-700
    @TOI-700 3 หลายเดือนก่อน

    SANK YOU, THANK YOU

  • @TOI-700
    @TOI-700 3 หลายเดือนก่อน

    understooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooood !?!?!! IDK

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

    😄

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

    first

  • @WebSurfingIsMyPastime
    @WebSurfingIsMyPastime 6 หลายเดือนก่อน +4

    Good post, slow down the releases and you’ll get more views. Nobody can handle viewing and reviewing and learning 3-4 leetcode problems a day. Maybe a speed of one every few days is better

    • @brainmosquito7
      @brainmosquito7 6 หลายเดือนก่อน +26

      apni suggestion apne paas rkh

    • @sarveshkulkarni6287
      @sarveshkulkarni6287 6 หลายเดือนก่อน +4

      That's personal issue, he's already working in a company so as per his valuable time he uploads video's just for us,insteading of asking him for slow releases you yourself can manage your time as you are in need not him.

    • @WebSurfingIsMyPastime
      @WebSurfingIsMyPastime 5 หลายเดือนก่อน +2

      @@sarveshkulkarni6287 Of course I can manage my time. My suggestion is not for me, but for his channel. Most people will skip multiple videos if the speed of delivery is too fast. So (for his channel and engagement) I made the suggestion that he should slow the release, that way he will get more clicks.
      Monetizing youtube videos is not as simple as one would think. You only make money on the views during the first few days of the videos release. If he releases multiple videos and the majority of the engagement/views are not immediate, he will not get much money from releasing this content.

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

      @@WebSurfingIsMyPastime bro jisne padna vo channel search kr ke pad lega.

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

      ​@@WebSurfingIsMyPastimeWhy are you considering that only first few days would account for the views? Think about the long run mate.

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

    understood