mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
update 0860.柠檬水找零: 替换 go 代码
This commit is contained in:
@ -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
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user