「貪心算法」檸檬水找零

力扣原題鏈接,點擊跳轉。

假設你的手里沒有錢。你要賣檸檬水,每杯5塊錢。每個顧客有可能會給你5塊錢、10塊錢或20塊錢,你要拿手中的錢找零。如何判斷你能否成功找零呢?

如果一上來就有顧客花10塊錢或20塊錢,你手中沒有錢,自然無法找零。我們考慮一下能找零的情況。如果有顧客花10塊錢,你就要找5塊錢,如果你手里沒有5塊錢,則找零失敗。如果有顧客花20塊錢,你可以找一張10塊錢和一張5塊錢,或者三張5塊錢。如果是你,你會選擇一張10塊錢和一張5塊錢,還是三張5塊錢呢?顯然,10塊錢的作用并不大,只有顧客花20塊錢時,才有可能用作找零;但是5塊錢的作用就非常大了,不管顧客花10塊錢還是20塊錢,都有可能用作找零。所以,我們應盡可能把作用不大的10塊錢花出去,把作用較大的5塊錢留在手里,這就是貪心策略。換句話說,我們優先考慮10+5,如果不行,再考慮5+5+5,如果還不行,那就找零失敗。

class Solution
{
public:bool lemonadeChange(vector<int>& bills){int five = 0, ten = 0;for (auto bill : bills){if (bill == 5){five++;}else if (bill == 10){if (five == 0){return false;}five--;ten++;}else{// 貪心,10+5優先于5*3if (five && ten){five--;ten--;}else if (five >= 3){five -= 3;}else{return false;}}}return true;}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/15197.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15197.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/15197.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python中特殊的靜態方法__new__

一、關于new方法 在Python中&#xff0c;__new__方法是一個特殊的靜態方法&#xff0c;用于實例化對象。通常不需要直接調用__new__方法&#xff0c;Python會自動調用它來分配內存空間并返回一個新對象&#xff08;或者更具體地說&#xff0c;是對象的引用&#xff09;。然而&…

視頻怎么轉換成二維碼圖片?視頻做成二維碼播放的方法

怎樣在電腦上制作可以播放視頻的二維碼呢&#xff1f;很多日常生活中&#xff0c;很多的場景或者物品都會有自己的二維碼&#xff0c;其他人通過掃碼就可以獲取對應的內容。有很多場景下會把視頻轉換二維碼&#xff0c;通過掃碼在手機上查看視頻內容&#xff0c;比如產品介紹、…

水表電表遠程抄表是什么?

1.簡述&#xff1a;水表電表遠程抄表技術性 隨著時代的發展&#xff0c;傳統式手動抄表方法早已被更為高效、智能化的遠程抄表系統所替代。水表電表遠程抄表&#xff0c;說白了&#xff0c;就是利用互聯網技術完成對水表和電表讀數的遠程數據采集管理方法&#xff0c;大大提升…

效果炸裂!使用 GPT-4o 快速實現LLM OS

▼最近直播超級多&#xff0c;預約保你有收獲 —1— 什么是 LLM OS&#xff1f; 關于 LLM OS 的最初構想源自karpathy 在2023年11月11日發布的一條Twitter 動態&#xff0c;這是 LLM OS 概念的最早出處&#xff0c;如下圖所示&#xff1a; LLM OS 主要有以下5個部分組成&#x…

基于SA模擬退火優化算法的TSP問題求解matlab仿真,并對比ACO蟻群優化算法

目錄 1.程序功能描述 2.測試軟件版本以及運行結果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于SA模擬退火優化算法的TSP問題求解matlab仿真,并對比ACO蟻群優化算法,對比兩個算法的仿真時間&#xff0c;收斂曲線&#xff0c;以及路徑規劃的結果&#xff0…

中間件的概念及示例

什么是中間件&#xff1f; 中間件是一種軟件技術&#xff0c;它在分布式系統中起著至關重要的作用。以下是關于中間件的詳細解釋&#xff1a; 定義與位置&#xff1a; 中間件是位于應用系統和系統軟件之間的一類軟件。它使用系統軟件提供的基礎服務&#xff08;功能&#xff0…

Flask+Vue+MySQL天水麻辣燙管理系統設計與實現(附源碼 配置 文檔)

背景&#xff1a; 同學找到我期望做一個天水麻辣燙的網頁&#xff0c;想復用以前做過的課設&#xff0c;結合他的實際需求&#xff0c;讓我們來看看這個系統吧~ 項目功能與使用技術概述&#xff1a; 里面嵌入了6個子系統&#xff0c;其中餐飲系統可以進行餐館信息添加、修改…

TypeScript體操類型練習

歷史小劇場 這個世界上&#xff0c;有兩種人最痛苦&#xff0c;第一種是身居高位者&#xff0c;第二種是身居底層者&#xff0c;第一種人很少&#xff0c;第二種人很多。第一種人叫崇禎&#xff0c;第二種人叫百姓。 而最幸福的&#xff0c;就是中間那撥人&#xff0c;主要工作…

Influence blocking maximization on networks: Models, methods and applications

abstract 由于各種社會和貿易網絡的不斷出現&#xff0c;網絡影響力分析引起了研究者的極大興趣。基于不同的影響力傳播模型&#xff0c;人們提出了許多網絡影響力最大化的新模型和方法。作為傳統影響力最大化問題的延伸和擴展&#xff0c;影響力封鎖最大化問題已成為研究熱點&…

借助 CloudFlare 增強站點內容保護防采集

今天在一位站長的幫助下實測了 CloudFlare 增強站點內容保護實現防采集的功能,效果那是杠杠的,如果您的站點原創內容比較多的話,明月強烈建議試試 CloudFlare 這個內容保護,無論是 WordPress 、Typecho 都有非常好的效果,并且幾乎沒有任何誤傷,搜索引擎爬蟲蜘蛛更是不會影…

【圖論】單源最短路

前言 今天&#xff0c;我們來講最短路&#xff0c;首先看只有一個起點&#xff08;單源&#xff09;的情況。 為了書寫方便&#xff0c;我們約定以下內容&#xff1a; template<class W> using Graph vector<vector<pair<int, W>>>; // 鄰接表(ve…

集中抄表電表是什么?

1.集中抄表電表&#xff1a;簡述 集中抄表電表&#xff0c;又稱為遠程抄表系統&#xff0c;是一種現代化電力計量技術&#xff0c;為提升電力行業的經營效率和客戶服務質量。它通過自動化的形式&#xff0c;取代了傳統人工抄水表&#xff0c;完成了數據信息實時、精確、高效率…

進制轉換【野路子改造】

非科班&#xff0c;一直都是自己的野路子&#xff0c;現在要回爐重造 十進制->二進制 基本思想&#xff1a; 開始寫的&#xff08;80%&#xff09;&#xff1a; #include<stdio.h> using namespace std; int main(){ int n; scanf("%d",&n); int a[1…

Spring -- DI

文章目錄 一、什么是DI二、注入的三種方式2.1 屬性注入 Autowired使用方法Autowired存在的問題以及解決方法Autowired問題的解決方法 2.2 構造方法注入2.3 setter方法注入2.4 三種注入方式優缺點分析 一、什么是DI 概念&#xff1a;DI(依賴注入)就是當我們把依賴對象取出來(創…

以太坊錢包

以太坊錢包是你通往以太坊系統的門戶。它擁有你的密鑰&#xff0c;并且可以代表你創建和廣播交易。選擇一個以太坊錢包可能很困難&#xff0c;因為有很多不同功能和設計選擇。有些更適合初學者&#xff0c;有些更適合專家。即使你現在選擇一個你喜歡的&#xff0c;你可能會決定…

mac m1 pcre.h 找不到

安裝suricata報錯&#xff1a; configure: error: pcre.h not found ... 解決&#xff1a; brew install pcre 找到這個文件的地址 brew list pcre | grep pcre.h$ /opt/homebrew/Cellar/pcre/8.45/include/pcre.h 程序搜索的地址 cpp -v /Library/Developer/CommandLineT…

5.26 基于UDP的網絡聊天室

需求&#xff1a; 如果有人發送消息&#xff0c;其他用戶可以收到這個人的群聊信息 如果有人下線&#xff0c;其他用戶可以收到這個人的下線信息 服務器可以發送系統信息實現模型 模型&#xff1a; 代碼&#xff1a; //chatser.c -- 服務器端實現 #include <stdio.h>…

hive初始化失敗報錯:Error: Duplicate key name ‘PCS_STATS_IDX‘ (state=42000,code=1061)

意思是key name ‘PCS_STATS_IDX’ (state42000,code1061)重復了&#xff0c;問題出在不是第一次初始化&#xff0c;因為我們在hive-site.xml中配置了 javax.jdo.option.ConnectionURL jdbc:mysql://192.168.200.137:3306/metastore?createDatabaseIfNotExisttrue JDBC conne…

JavaSE——類和對象(二)~~封裝

目錄 一.封裝 二.封裝擴展之包 三.static成員 四. 代碼塊 五. 內部類&#xff08;重要&#xff09; 大家好呀&#xff0c;我是北緯&#xff0c;接著上節我們繼續講解Java中關于類和對象的相關知識&#xff0c;今天著重給大家介紹一下關于面向對象程序的特性之一——封裝。…

【Linux】常用基礎命令 | 搭建云服務器優化環境 | 程序的部署

文章目錄 Linux常用命令及搭建環境一、LinuxLinux發行版 1.常用命令1.ls2.cd3.pwd4.touch5.cat6.echo7.vim8.mkdir9.rm10.mv11.cp12.man13.grep14.ps15.netstat 2.搭建Java Web程序的運行環境包管理器1.安裝JDK2.安裝Tomcat3.安裝mysql 3.程序的部署 Linux常用命令及搭建環境 …