当前位置: 首页 > news >正文

贪心算法-----柠檬水找零

今日题目:leetcode860

题目链接:点击跳转题目

分析:

顾客只会给三种面值:5、10、20,先分类讨论

  • 当收到5美元时:不用找零,面值5张数+1
  • 当收到10美元时:找零5美元,面值5张数-1、面值10张数+1
  • 当收到20美元时:找零15美元,两种情况
    • 一张10美元 、 一张5美元
    • 三张5美元

对于收到20美元时,该以什么为评判标准来选择用哪一种找零方式呢?

纵观三种情况,收到10、20美元时都会用到5美元,而10美元只有收到20美元时才可能使用;

贪心思路:为了能尽可能多的正确找零,所以当收到20美元时,尽量以10+5的方式找零,除非没有10没有再不得以用三张5美元,因为5美元的找零作用很大!

代码:

class Solution {
public:bool lemonadeChange(vector<int>& bills) {int five_nums = 0;int ten_nums = 0;for(auto & x : bills){if(x == 5) {five_nums++;continue;}if(x == 10) {ten_nums++;if(five_nums > 0) five_nums--;else return false;}if(x == 20){if(five_nums >0 && ten_nums > 0){five_nums--;ten_nums--;}else if(ten_nums ==0 && five_nums >= 3){five_nums -= 3;}else return false;}}return true;}
};

http://www.lryc.cn/news/347364.html

相关文章:

  • MySQL技能树学习
  • java 动态代理详解
  • Web路径专题
  • 解决vue3项目打包后部署后某些静态资源图片不加载问题
  • 传感网应用开发教程--AT指令访问新大陆云平台(ESP8266模块+物联网云+TCP)
  • 项目提交到空的git仓库流程
  • 【Python】在Windows Server上部署Flask后端服务器
  • 机器学习作业4——朴素贝叶斯分类器
  • BUU-[GXYCTF2019]Ping Ping Ping
  • 代码随想录Day 41|Leetcode|Python|198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
  • 【吴恩达机器学习-week2】多个变量的特征缩放和学习率问题
  • C#字符串的拼接
  • 哈希表Hash table
  • jdk8新特性----Lambda表达式
  • 在STM32中用寄存器方式点亮流水灯
  • TCP(TCP客户端、服务器如何通信)
  • pdf 文件版面分析--PyMuPDF (python 文档解析提取)
  • sql update 多表关联 inner join
  • 【OceanBase诊断调优】—— 租户资源统计项及其查询方法
  • 【一键录音,轻松转换:用Python打造个性化音频记录工具】
  • Java类与对象(一)
  • python中的装饰器,例子说明
  • Leetcode经典题目之用队列实现栈
  • DBSCAN聚类算法
  • 【tauri】安装
  • (Java)心得:LeetCode——19.删除链表的倒数第 N 个节点
  • 树莓派安装opencv
  • bert 的MLM框架任务-梯度累积
  • Nginx配置/.well-known/pki-validation/
  • iOS LQG开发框架(持续更新)