> 技术文档 > 【算法】贪心算法:柠檬水找零C++

【算法】贪心算法:柠檬水找零C++


文章目录

  • 前言
  • 题目解析
  • 算法原理
  • 代码示例
  • 策略证明

前言

题目的链接,大家可以先试着去做一下再来看一下思路。 860. 柠檬水找零 - 力扣(LeetCode)

题目解析

首先我们要认真去拿到题目中的关键有用信息。

【算法】贪心算法:柠檬水找零C++

认真的去阅读题目给的示例,然后去推出其他的示例的情况。

【算法】贪心算法:柠檬水找零C++

算法原理

【算法】贪心算法:柠檬水找零C++

代码示例

class Solution {public: bool lemonadeChange(vector<int>& bills) { int five = 0, ten = 0;//我们用来记录5元和十元的张数 for(auto x : bills) {  if(x == 5) five++;  else if(x == 10)  { if(five == 0) return false; five--; ten++;  }  else  { if(ten && five) ten--,five--; else if(five >= 3) five-=3; else return false;  } } return true; }};

策略证明

证明方法:交换认证法
【算法】贪心算法:柠檬水找零C++