首页 > 编程语言 >代码随想录算法训练营第二十九天| 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果

代码随想录算法训练营第二十九天| 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果

时间:2023-07-11 11:46:01浏览次数:47  
标签:20 10 return 随想录 取反 else 135 currentMoney bills

  860.柠檬水找零 

思路:

遇到20,先给10和5,再给三个5

代码:

 1 bool lemonadeChange(vector<int>& bills) {
 2     if (bills.size() == 0) return true;
 3 
 4     map<int, int> currentMoney;
 5     for (int i = 0; i < bills.size(); i++)
 6     {
 7         if (bills[i] == 5)
 8         {
 9             currentMoney[5]++;
10         }
11         else if (bills[i] == 10)
12         {
13             if (currentMoney[5] < 1)
14             {
15                 return false;
16             }
17 
18             currentMoney[5]--;
19             currentMoney[10]++;
20         }
21         else if (bills[i] == 20)
22         {
23             if (currentMoney[5] >= 1 && currentMoney[10] >= 1)
24             {
25                 currentMoney[5]--;
26                 currentMoney[10]--;
27             }
28             else if (currentMoney[5] >= 3) {
29                     currentMoney[5] = currentMoney[5] - 3;
30             }
31             else
32             {
33                 return false;
34             }
35         }
36     }
37 
38     return true;
39 }

 

标签:20,10,return,随想录,取反,else,135,currentMoney,bills
From: https://www.cnblogs.com/smartisn/p/17544208.html

相关文章

  • Java true和false类型如何取反 这个问题怎么解决?
    Javatrue和false类型如何取反在Java中,true和false是布尔类型的取值。布尔类型只有两个取值:true和false。它通常用于判断和控制程序的流程。在某些情况下,我们需要对布尔类型进行取反操作。下面将介绍如何在Java中对布尔类型进行取反,并给出一个具体问题的解决方案。布尔类型的取反......
  • 代码随想录算法训练营第二十四天| 491.递增子序列 46.全排列 47.全排列 II
     491.递增子序列 此题的难点:1,前提需要保留原有顺序2,保证递增3,保证去重注意:去重一定要有set的同时保证有顺序代码:1voidfindSubsequences_trackBack(vector<int>&nums,intstartIndex,vector<int>&path,vector<vector<int>>&result)2{3if(path.size(......
  • 代码随想录|动态规划
     392.判断子序列 115.不同的子序列   583. 两个字符串的删除操作  72. 编辑距离 编辑距离总结篇392.判断子序列和昨天的最长重复子串一样,只要计算两者的重复长度是不是和s一样就行了。但是还是不如双指针的时间复杂度O(nm)O(nm)classSolution:de......
  • 代码随想录|动态规划-编辑距离
     392.判断子序列 115.不同的子序列   583. 两个字符串的删除操作  72. 编辑距离 编辑距离总结篇392.判断子序列和昨天的最长重复子串一样,只要计算两者的重复长度是不是和s一样就行了。但是还是不如双指针的时间复杂度O(nm)O(nm)classSolution:de......
  • 代码随想录|各种买卖股票问题
    121. 买卖股票的最佳时机 122.买卖股票的最佳时机II 123.买卖股票的最佳时机III  188.买卖股票的最佳时机IV 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费  总结121.买卖股票的最佳时机全程只能买卖一次贪心算法这个算法的写法也非......
  • 游戏服务器被攻击怎么办?绍兴高防服务器租用203.135.102.x
    游戏服务器遭受攻击的原因可能有很多。攻击者可能会利用多种方式来入侵服务器,如通过计算机病毒、木马程序、蠕虫程序和社交工程等方式。这些攻击可以让服务器瘫痪,造成用户数据丢失、业务中断,甚至影响到公司的声誉。今天我就来和大家说原因和解决方法一、竞争对手来攻击你的服务器,让......
  • 代码随想录算法训练营第二十一天| 216.组合总和III 17.电话号码的字母组合
    216.组合总和III  思路:很像上一个组合类型的题目,唯一不同的就是自己写一个sum代码:1voidconvertBST_cur(TreeNode*root,vector<TreeNode*>&nodes)2{3if(!root)return;4if(root->left)convertBST_cur(root->left,nodes);5nodes.push_bac......
  • 代码随想录|打家劫舍问题
    198.打家劫舍 213.打家劫舍II  337.打家劫舍III 198.打家劫舍classSolution:defrob(self,nums:List[int])->int:n=len(nums)ifn==0:return0dp=[0for_inrange(n+1)]dp[1]=nums[0]......
  • 代码随想录算法训练营第二十天| 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索
    669.修剪二叉搜索树思路递归法: 需要思考清楚,如果当前节点<low,那么就返回递归它的右节点,而不是自己取判断,找出来一个合适的节点,这样的话会越想越乱代码:1TreeNode*trimBST_cursor(TreeNode*root,intlow,inthigh){2if(!root)returnnullptr;34if......
  • 绍兴高防BGP服务器-游戏专用高频服务器-203.135.98.X
    绍兴高防BGP服务器-游戏专用高频服务器绍兴高防BGP服务器是一种专门为游戏行业设计的高频服务器。在现代社会中,游戏行业的发展迅猛,吸引了大量的玩家加入其中。玩家对游戏的需求不断增加,对服务器的性能要求也越来越高。因此,绍兴高防BGP服务器应运而生,以满足游戏行业对服务器的需求......