L15. Stock Span Problem | Stack and Queue Playlist

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

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

  • @aparnaverma1562
    @aparnaverma1562 4 หลายเดือนก่อน +10

    I was able to come up with solution by myself.
    All thanks to you for making me improve my critical thinking

  • @mrmehran879
    @mrmehran879 6 หลายเดือนก่อน +11

    class StockSpanner {
    public:
    int index;
    stack st;
    StockSpanner() {
    index =-1;
    // st.clear();
    }
    int next(int price) {
    index+=1;
    int ans;
    while(!st.empty() && st.top().first

  • @Himanshugupta-bw9ht
    @Himanshugupta-bw9ht 6 หลายเดือนก่อน +6

    What a timing. I was solving this problem from SDE sheet and at first got disappointed as there was no link to this problem. I'm glad that I decided to checkout the channel. Unbeatable explanation like always. Thanks.

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

    I solved it by building a monotonic stack (executed in lesser time when compared to above optimal approach). It involves storing "Stack" type custom class which has "val" and "span" in Deque. The approach involves storing the Stack type classes in decreasing fashion. Whenever we encounter the value greater than stack.peek(), pop the elements and add it's corresponding span values. Below is my code for understanding.
    class StockSpanner {
    Deque stack;
    public StockSpanner() {
    stack = new ArrayDeque();
    }
    public int next(int price) {
    int span = 1;
    while (!stack.isEmpty() && stack.peek().val

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

    Java Code
    class StockSpanner {
    Stack st = new Stack();
    int ind;
    public StockSpanner() {
    st = new Stack();
    ind = -1;
    }
    public int next(int price) {
    ind++;
    while(!st.isEmpty() && st.peek()[1]

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

    liked it better when u gave the clear code at the end :)

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

    Brilliant explanation , Thank you

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

    class StockSpanner {
    Stackst;
    public StockSpanner(){
    st=new Stack();
    }
    public int next(int price){
    int spam=1;
    while(!st.isEmpty()&&st.peek ()[0]

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

    Arre love you bhaiya ❤ i have done arrays, linked list, binary search, recursion ….. and was looking for stack n queue.
    What a timing bhaiya ji 🥹 mauj kara di

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

    Great solution!

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

    in 2nd approach space complexity should be O(2n) right ? (because we are using a stack of )

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

    Able to solve Thanks :)

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

    won't space complexity also be O(2N) as we are storing both value and index in stack? Also I tried to do the question by myself, and here is my solution:
    class StockSpanner {
    public:
    vector prices;
    stack st;
    StockSpanner() {
    index = -1;
    }

    int next(int price) {
    int ans;
    prices.push_back(price);
    while(!st.empty() && price >= prices[st.top()])
    st.pop();
    if(!st.empty()) ans = prices.size()-1-st.top();
    else ans = prices.size();
    st.push(prices.size()-1);
    return ans;
    }
    };

    • @Akash-Bisariya
      @Akash-Bisariya 2 หลายเดือนก่อน

      You are also using prices vector and stack here so space complexity will be O(2N) here also.

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

    why do we need to reinitialize the index to -1 in the stockspanner() method guys? if we have declared it globally?

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

    thanks bhaiya

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

    Understood

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

    thanks

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

    suppose my input is
    10 10 10 10
    Sample Output 1:
    1 1 1 1
    then how can you handle it

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

      I think sample output is wrong coz in condition it is stated that it will count for price less than or equal to current days.

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

    understood

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

    Java Code
    class Pair {
    I index;
    V value;
    public Pair(I key, V value) {
    this.index = key;
    this.value = value;
    }
    public I getIndex() {
    return index;
    }
    public V getValue() {
    return value;
    }
    }
    public class StockSpanner {

    Stack st;
    int index;
    public StockSpanner() {
    this.st=new Stack();
    this.index=-1;
    }
    public int next(int price) {
    index++;
    while(!st.empty()&&st.peek().value

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

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

    First view and comment

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

    😁

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

    1st comment

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

    Please pin me
    for 2 days❤

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

    I'm waiting this for years ...thanks striver @takeUforward.... yesterday u said and u delivered

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

    Thanks