var evalRPN = function(tokens) {
let stack=[]
let methods=['+','-','*','/']
for(let i of tokens){
if(!methods.includes(i)){
stack.push(i*1)
}else{
n1=stack.pop()
n2=stack.pop()
if(i==='+'){
stack.push(n1+n2)
}else if(i==='-'){
stack.push(n2-n1)
}else if(i==='*'){
stack.push(n1*n2)
}else{
stack.push(n2/n1>0?Math.floor(n2/n1):Math.ceil(n2/n1))
}
}
}
return stack.pop()
};
var asteroidCollision = function(asteroids) {
let stack=[]
for(let i of asteroids){
while(stack.length && stack[stack.length-1]>0 && -i>stack[stack.length-1]){
stack.pop()
}
if(!stack.length || stack[stack.length-1]<0 || i>0){
stack.push(i)
}else if(stack.length && stack[stack.length-1]>0 && i<0 && -i===stack[stack.length-1]){
stack.pop()
}
}
return stack
};
var dailyTemperatures = function(temperatures) {
let res=new Array(temperatures.length).fill(0)
for(let i=0
for(let j=i+1
if(temperatures[j]>temperatures[i]){
res[i]=j-i
break
}
}
}
return res
}
var dailyTemperatures = function(temperatures) {
let stack=[]
let res=new Array(temperatures.length).fill(0)
for(let i=0
while(stack.length && temperatures[stack[stack.length-1]]<temperatures[i]){
let j=stack.pop()
res[j]=i-j
}
stack.push(i)
}
return res
}
var largestRectangleArea = function(heights) {
let res=0
let stack=[-1]
for(let i=0
while(heights[stack[stack.length-1]]>heights[i]){
area=heights[stack.pop()]*(i-stack[stack.length-1]-1)
res=Math.max(res,area)
}
stack.push(i)
}
while(heights[stack[stack.length-1]]>0){
area=heights[stack.pop()]*(heights.length-stack[stack.length-1]-1)
res=Math.max(res,area)
}
return res
}