leetcode

Posted 放羊的水瓶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode相关的知识,希望对你有一定的参考价值。

leetcode_problem860

rank: easy

1. 问题

问题描述看图1,大致意思是最初自己手上是没有任何钱,一杯柠檬水5刀,买家有三种给法(5,10,20),在给定的input,也就是money的序列,问你是否找的开,可看图2的例子

图1

图2

2.解决方案

 1 class Solution:
 2     def lemonadeChange(self, bills):
 3         """
 4         :type bills: List[int]
 5         :rtype: bool
 6         """
 7         num_5, num_10 = 0, 0 
 8         for bill in bills:
 9             if bill == 5:
10                 num_5 += 1
11             elif bill == 10:
12                 if num_5 > 0:
13                     num_5 -= 1
14                     num_10 += 1
15                 else:
16                     return False
17             else:
18                 if num_5 > 0 and num_10 > 0:
19                     num_5 -= 1
20                     num_10 -= 1
21                 elif num_5 > 3:
22                     num_5 -= 3
23                 else:
24                     return False
25         return True

思路很简单,用两个数去记录5刀和10刀的数目,只要找得开,则没有问题,返回True,否则返回False

参考

1.https://leetcode.com/problems/lemonade-change/description/

以上是关于leetcode的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段

LEETCODE 003 找出一个字符串中最长的无重复片段

Leetcode 763 划分字母区间

LeetCode:划分字母区间763

Leetcode:Task Scheduler分析和实现

817. Linked List Components - LeetCode