update 0860.柠檬水找零: 替换 go 代码

This commit is contained in:
Yuhao Ju
2022-12-16 23:25:27 +08:00
committed by GitHub
parent 6ffe0b568e
commit b6a92c387e

View File

@ -54,7 +54,7 @@
这是前几天的leetcode每日一题感觉不错给大家讲一下。 这是前几天的leetcode每日一题感觉不错给大家讲一下。
这道题目刚一看,可能会有点懵,这要怎么找零才能保证完全部账单的找零呢? 这道题目刚一看,可能会有点懵,这要怎么找零才能保证完全部账单的找零呢?
**但仔细一琢磨就会发现,可供我们做判断的空间非常少!** **但仔细一琢磨就会发现,可供我们做判断的空间非常少!**
@ -179,37 +179,22 @@ class Solution:
### Go ### Go
```golang ```go
func lemonadeChange(bills []int) bool { func lemonadeChange(bills []int) bool {
//left表示还剩多少 下标0位5元的个数 下标1为10元的个数 ten, five := 0, 0
left:=[2]int{0,0}
//第一个元素不为5直接退出
if bills[0]!=5{
return false
}
for i := 0; i < len(bills); i++ { for i := 0; i < len(bills); i++ {
//先统计5元和10元的个数
if bills[i] == 5 { if bills[i] == 5 {
left[0]+=1 five++
} } else if bills[i] == 10 {
if bills[i]==10{ if five == 0 {
left[1]+=1
}
//接着处理找零的
tmp:=bills[i]-5
if tmp==5{
if left[0]>0{
left[0]-=1
}else {
return false return false
} }
} ten++; five--
if tmp==15{ } else {
if left[1]>0&&left[0]>0{ if ten >= 1 && five >= 1 {
left[0]-=1 ten--; five--
left[1]-=1 } else if five >= 3 {
}else if left[1]==0&&left[0]>2{ five -= 3
left[0]-=3
} else { } else {
return false return false
} }