func lemonadeChange(bills []int) bool {
var five, ten int
for i := 0; i < len(bills); i++ {
if bills[i] == 5 { // 情况一 5元,不用找
five++
} else if bills[i] == 10 { // 情况二 10元,要找5元
if five < 1 { // 没有5元可找,结束
return false
}
ten++
five--
} else { // 情况三 20元,要找15元
if ten > 0 && five > 0 { // 贪心:优先找10元,因为5元能用来找零的机会更多
ten--
five--
} else if five >= 3 {
five -= 3
} else {
return false
}
}
}
return true
}