diff --git a/problems/0860.柠檬水找零.md b/problems/0860.柠檬水找零.md index bc006f45..fc336eba 100644 --- a/problems/0860.柠檬水找零.md +++ b/problems/0860.柠檬水找零.md @@ -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;i0{ - 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 } }