老板說我活兒好事兒少,要給我漲工資!文末有驚喜哦~~
前言
我們假設(shè)有一臺自動化生產(chǎn)汽車模型的機器,一天能夠生產(chǎn)一輛汽車模型,而機器每升級一次,工作效率都能夠翻一倍,但升級一次剛好也需要一天的時間,那么如何分配時間,才能在最短的時間里完成指定數(shù)量的生產(chǎn)任務呢?
又要時間短,又要完成好任務,總之就是要花最少的錢把事兒辦成,咋那么像我的老板呢... 沒錯,這就是貪心算法的奧義了,每一步都要貪心到底!
算法介紹
那么我們今天就用貪心算法來解決這個問題:
1、假設(shè)今天的生產(chǎn)速度是一天 x 輛;
2、如果今天不升級機器,今天和明天共生產(chǎn) x+x = **2x** 輛;
3、如果今天升級了機器,今天和明天共生產(chǎn) 0+2x = **2x** 輛。
因此我們得出結(jié)論:那就是**當待生產(chǎn)車輛模型小于 x,一天可以生產(chǎn)完成時,那就不需要升級速度,反之需要升級**。所以每天判斷下待生產(chǎn)車輛模型,如果超過當前生產(chǎn)速度就需要升級速度。
代碼實現(xiàn):
可能大家已經(jīng)發(fā)現(xiàn)了,只有最后一天時間用來了生產(chǎn),前邊的時間都是用來升級,正所謂磨刀不誤砍柴工,貪心算法就是要做到足夠貪心,做出最優(yōu)選擇!
最后送大家一份 JetBrains IDEA 破解教程和干貨,快拿去用吧:
百度網(wǎng)盤鏈接:https://pan.baidu.com/s/1jxvnKgTsTbkVmjcPGeTm0g
提取碼:2cg8??
標簽: