首页 > 编程语言 >贪心算法(二) ------力扣860--柠檬水找零,力扣605--种花问题

贪心算法(二) ------力扣860--柠檬水找零,力扣605--种花问题

时间:2024-07-26 12:54:59浏览次数:17  
标签:10 -- flowerbed 找零 力扣 five 顾客 bills

目录

力扣860 ----柠檬水找零

题目

分析 

代码 

力扣605 ---种花问题

问题

题目

分析 

代码 


力扣860 ----柠檬水找零

题目

在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。

每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。

注意,一开始你手头没有任何零钱。

给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。

示例 1:

输入:bills = [5,5,5,10,20]
输出:true
解释:
前 3 位顾客那里,我们按顺序收取 3 张 5 美元的钞票。
第 4 位顾客那里,我们收取一张 10 美元的钞票,并返还 5 美元。
第 5 位顾客那里,我们找还一张 10 美元的钞票和一张 5 美元的钞票。
由于所有客户都得到了正确的找零,所以我们输出 true。

示例 2:

输入:bills = [5,5,10,10,20]
输出:false
解释:
前 2 位顾客那里,我们按顺序收取 2 张 5 美元的钞票。
对于接下来的 2 位顾客,我们收取一张 10 美元的钞票,然后返还 5 美元。
对于最后一位顾客,我们无法退回 15 美元,因为我们现在只有两张 10 美元的钞票。
由于不是每位顾客都得到了正确的找零,所以答案是 false。

提示:

  • 1 <= bills.length <= 105
  • bills[i] 不是 5 就是 10 或是 20 

分析 

代码 

class Solution:
    def lemonadeChange(self, bills: List[int]) -> bool:
        five=0
        ten=0
        for i in bills:
            if i==5:
                five +=1
            if i==10:
                if five>=1:
                    five-=1
                    ten+=1
                else:
                    return False
            if i==20:
                if ten>=1 and five>=1:
                    ten-=1
                    five-=1
                elif five>=3:
                    five-=3
                else:
                    return False
        return True


力扣605 ---种花问题

问题

假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。

给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false 。

示例 1:

输入:flowerbed = [1,0,0,0,1], n = 1
输出:true

示例 2:

输入:flowerbed = [1,0,0,0,1], n = 2
输出:false

提示:

  • 1 <= flowerbed.length <= 2 * 104
  • flowerbed[i] 为 0 或 1
  • flowerbed 中不存在相邻的两朵花
  • 0 <= n <= flowerbed.length

题目

分析 

代码 

class Solution:
    def canPlaceFlowers(self, flowerbed: List[int], n: int) -> bool:
        flowerbed.insert(0, 0)
        # 在最后面添加数据
        flowerbed.append(0)
        maxx = 0
        length = len(flowerbed)
        for i in range(1,length-1):
            while flowerbed[i] ==0 and flowerbed[i-1]==0 and flowerbed[i+1]==0:
                maxx +=1
                flowerbed[i]=1
        if maxx>=n:
            return True
        else:
            return False

标签:10,--,flowerbed,找零,力扣,five,顾客,bills
From: https://blog.csdn.net/yanminghe66666/article/details/140648464

相关文章

  • windows的nodejs版本控制工具:nvm nodejs以及vue的安装
    首先确保自己的电脑是首次安装nodejs相关的软件,安装nvm之前必须确保电脑无nodejs。1.nvm的安装在github上寻找合适的版本,我安装的是v1.12版本。Releases·coreybutler/nvm-windows·GitHubwindows下就下载如下图所示的nvm-setup.exe文件选择nvm的安装路径选择nodej......
  • A099-springboot协同过滤鲜花商城推荐系统
    基于Springboot+vue+协同过滤+前后端分离+鲜花商城推荐系统(用户,多商户,管理员)【运行环境】IdeaJDK1.8MavenMySQLNginxVscode【技术栈】  SpringBoot,SSM,MYSQL,Vue,Layui,JQUERY,HTML,CSS,JAVASCRIPT,前后台分离,日历控件,协同过滤-基于用户过滤【项目功能......
  • A098-Springboot-vue-化妆品推荐系统
    后端(SpringBoot)实现步骤:项目初始化:使用SpringInitializr创建一个新的SpringBoot项目,包括必要的依赖如SpringWeb和SpringDataJPA。数据库设计:设计数据库模型,例如化妆品(品牌、类型、成分等)、用户信息(注册、登录信息)、推荐记录等。可以选择MySQL、PostgreSQL等关系型数......
  • django OAuth 工具包未获取重定向 URI
    我正在使用DjangoOAuth工具包并使用以下代码进行OAuth实现Application=get_application_model()defoauth_login(request):app=Application.objects.get(name="App")#redirect_uri=request.GET.get("redirect_uri","http://test.com:8000/ca......
  • A097-springboot+vue汽车保养
    后端(SpringBoot)SpringBoot应用程序:创建一个基于SpringBoot的后端应用程序,用于处理业务逻辑和数据持久化。RESTfulAPI设计:使用SpringMVC创建RESTfulAPI,用于处理来自前端的请求和响应。API应设计清晰,包括汽车信息的增删改查、保养记录管理、用户信息等功能。数据持......
  • Arrays.sort()与Collections.sort()的用法以及区别
    目录Arrays.sort()与Collections.sort()的区别对象数组的排序方式Arrays.sort()的方法1.Arrays.sort(int[]a)2.Arrays.sort(int[]a,intfromIndex,inttoIndex)3.Arrays.sort(Integer[]a,Comparatorcmp)Collections.sort()的方法1.sort(Listlist)2.sort(Listlist......
  • 为什么运行 Flask 开发服务器会自行运行两次?
    我正在使用Flask开发网站,在开发过程中,我使用以下文件运行flask:#!/usr/bin/envpythonfromdatetimeimportdatetimefromappimportappimportconfigif__name__=='__main__':print('###################Restarting@',datetime.utcnow(),'#......
  • 容易的多元拉格朗日反演练习题
    你说得对,但确实和题目没有一点关系。模拟赛记录下午出。题面看到Alice和Bob就知道是什么题了。思路这个题开始先胡乱想想,发现按照博弈论的思路,那么每次Bob行动一步后,Alice需要有对应的策略,也就是说,若Alice必胜,这次行动应该是固定的最优策略步。然后再代入一下,如果......
  • 魔术上网导致Github push 443 问题解决方法
    问题描述使用“kexue上网”工具后,在IDEA中push代码到github时,报错:Failedtoconnecttogithub.comport443:Operationtimedout。同时,使用浏览器访问github也会出现无法访问,偶尔能访问的情况。解决办法gitconfig--globalhttp.proxyhttp://127.0.0.1:1087git......
  • 如何在 Folium colorbar 中自定义标题文本?我想增加颜色图标题文本的字体大小
    我正在尝试在Folium中使用颜色条作为输出变量圆形图colormap=cm.LinearColormap(colors=['green','red'],index=[min(df['output']),max(df['output'])],vmin=min(df['output']),vmax=max(df['output']),caption='out......