mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 02:53:31 +08:00
update 0860.柠檬水找零: 替换 go 代码
This commit is contained in:
@ -54,7 +54,7 @@
|
|||||||
|
|
||||||
这是前几天的leetcode每日一题,感觉不错,给大家讲一下。
|
这是前几天的leetcode每日一题,感觉不错,给大家讲一下。
|
||||||
|
|
||||||
这道题目刚一看,可能会有点懵,这要怎么找零才能保证完整全部账单的找零呢?
|
这道题目刚一看,可能会有点懵,这要怎么找零才能保证完成全部账单的找零呢?
|
||||||
|
|
||||||
**但仔细一琢磨就会发现,可供我们做判断的空间非常少!**
|
**但仔细一琢磨就会发现,可供我们做判断的空间非常少!**
|
||||||
|
|
||||||
@ -179,38 +179,23 @@ 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}
|
for i := 0; i < len(bills); i++ {
|
||||||
//第一个元素不为5,直接退出
|
if bills[i] == 5 {
|
||||||
if bills[0]!=5{
|
five++
|
||||||
return false
|
} else if bills[i] == 10 {
|
||||||
}
|
if five == 0 {
|
||||||
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 {
|
|
||||||
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user