var isAlienSorted = function(words, order) {
let map=new Map()
for(let i=0
map.set(order[i],i)
}
map.set(undefined,-1)
for(let i=0
for(let j=0
if(words[i][j]===words[i+1][j]){
continue
}
else if(map.get(words[i][j])>map.get(words[i+1][j])){
return false
}else{
break
}
}
}
return true
}
var canCompleteCircuit = function(gas, cost) {
let start=0
let curSum=0,total=0
for(let i=0
curSum+=gas[i]-cost[i]
total+=gas[i]-cost[i]
if(curSum<0){
curSum=0
start=i+1
}
}
if(total<0)return -1
else{
return start
}
}
var candy = function(ratings) {
let left=new Array(ratings.length).fill(0)
for(let i=0;i<ratings.length;i++){
if(i>0 && ratings[i]>ratings[i-1]){
left[i]=left[i-1]+1
}else{
left[i]=1
}
}
let right=0,res=0
for(let i=ratings.length-1;i>-1;i--){
if(ratings[i]>ratings[i+1] && i<ratings.length-1){
right++
}else{
right=1
}
res+=Math.max(right,left[i])
}
return res
};
var lemonadeChange = function(bills) {
let cur=new Array(3).fill(0)
for(let i of bills){
if(i===5){
cur[0]+=1
}else if(i===10){
if(cur[0]<1){
return false
}
cur[0]-=1
cur[1]+=1
}else{
cur[2]+=1
if(cur[0]<1){
return false
}else if(5*cur[0]+10*cur[1]<15){
return false
}else{
if(cur[1]>0){
cur[1]-=1
cur[0]-=1
}else{
cur[0]-=3
}
}
}
}
return true
}
var reconstructQueue = function(people) {
people.sort((a,b)=>{
if(a[0]!==b[0]){
return b[0]-a[0]
}else{
return a[1]-b[1]
}
})
let res=[]
for(let i of people){
if(res.length<=i[1]){
res.push(i)
}else{
res.splice(i[1],0,i)
}
}
return res
};