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