Next Greater to Right

Problem Link: https://practice.geeksforgeeks.org/problems/next-larger-element-1587115620/1

class Solution:
    
    def nextLargerElement(self,nums,n):
        #code here
        
        s=[]
        ans=[]
        for i in range(n-1,-1,-1):
            if(len(s)==0):
                ans.append(-1)
            else:
                if(s[-1]>nums[i]):
                    ans.append(s[-1])
                else:
                    while(len(s)>0 and s[-1]<=nums[i]):
                        s.pop()
                    
                    if(len(s)==0):
                        ans.append(-1)
                    else:
                        ans.append(s[-1])
            
            s.append(nums[i])
            
        return ans[::-1]

Last updated