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