Nearest Smaller to Right

Problem Link: https://www.codingninjas.com/codestudio/problems/next-smaller-element_1112581?leftPanelTab=0

def nextSmallerElement(nums,n):
    # Write your 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