func lemonadeChange(bills []int) bool {
five,ten := 0,0
for _, v := range bills {
if v == 5 {
five++
} else if v == 10 {
if five == 0 {
return false
}
five--
ten++
}else{
if five>0&&ten>0{
five--
ten--
}else if five >=3{
five -= 3
}else{
return false
}
}
}
return true
}
复杂度分析
时间复杂度: 只遍历了一遍数组 t,因此时间复杂度为 O(n),其中 n 是数组 bills 的长度