01背包

public class Knapsack_01 {
public static int getBiggestValue(int[] w,int[] v,int bagWeight,int productNum){
int[][] V = new int[productNum + 1][bagWeight + 1];

    for(int i = 0;i < productNum + 1;++i){
        V[i][0] = 0;
    }
    for(int j = 0;j < bagWeight +1;++j){
        V[0][j] = 0;
    }
    
    for(int i = 1;i < productNum +1;++i){
        for(int j = 1; j < bagWeight+1;++j){
            if(j < w[i-1]){
                V[i][j] = V[i-1][j];
            }else if(j >= w[i-1]){
                if(V[i-1][j] > V[i-1][j-w[i-1]] + v[i-1]){
                    V[i][j] = V[i-1][j];
                }else{
                    V[i][j] = V[i-1][j-w[i-1]] + v[i-1];

// System.out.print(i + "---->");
}
}
}
}

    return V[productNum][bagWeight];
}

public static int getBiggestValue(int bagWeight,int[] v,int[] w,int[] vw){
    int maxValues = 0;
    int j = 0;
    
    for(int i =0;i < vw.length;++i){
        if(w[vw[i]] <= bagWeight-j){
            j += w[vw[i]];
            maxValues += v[vw[i]];
        }else{
            maxValues += ((bagWeight -j)* (v[i]/w[i]));
            j = bagWeight;
        }
    }
    return maxValues;
}
public static void main(String[] args){
int[] v = {20,30,65,40,60};

int[] w = {10,20,30,40,50};
int bagWeight = 100;

int productNum = 5;

System.out.println("01背包:"+Knapsack_01.getBiggestValue(w,v,bagWeight,productNum));


int[] vf = {20,30,65,40,60};
int[] wf = {10,20,30,40,50};
int[] vwf = {2,0,1,4,3};
System.out.println("分數(shù)背包:"+Knapsack_01.getBiggestValue(bagWeight, vf, wf, vwf));
}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诲宇,一起剝皮案震驚了整個濱河市胆筒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌约炎,老刑警劉巖队魏,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搓译,死亡現(xiàn)場離奇詭異恒削,居然都是意外死亡揖曾,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門悯许,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仆嗦,“玉大人,你說我怎么就攤上這事先壕〈穸螅” “怎么了谆甜?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長集绰。 經(jīng)常有香客問我规辱,道長,這世上最難降的妖魔是什么栽燕? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任罕袋,我火速辦了婚禮,結(jié)果婚禮上纫谅,老公的妹妹穿的比我還像新娘炫贤。我一直安慰自己,他們只是感情好付秕,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布兰珍。 她就那樣靜靜地躺著,像睡著了一般询吴。 火紅的嫁衣襯著肌膚如雪掠河。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天猛计,我揣著相機與錄音唠摹,去河邊找鬼。 笑死奉瘤,一個胖子當著我的面吹牛勾拉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盗温,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼藕赞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了卖局?” 一聲冷哼從身側(cè)響起斧蜕,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎砚偶,沒想到半個月后批销,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡染坯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年均芽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片单鹿。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡骡技,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情布朦,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布昼窗,位于F島的核電站是趴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏澄惊。R本人自食惡果不足惜唆途,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望掸驱。 院中可真熱鬧肛搬,春花似錦、人聲如沸毕贼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鬼癣。三九已至陶贼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間待秃,已是汗流浹背拜秧。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留章郁,地道東北人枉氮。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像暖庄,于是被迫代替她去往敵國和親聊替。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 【程序1】 題目:古典問題:有一對兔子雄驹,從出生后第3個月起每個月都生一對兔子佃牛,小兔子長到第三個月后每個月又生一對兔...
    葉總韓閱讀 5,128評論 0 41
  • Java經(jīng)典問題算法大全 /*【程序1】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子医舆,小兔子...
    趙宇_阿特奇閱讀 1,850評論 0 2
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法俘侠,類相關(guān)的語法,內(nèi)部類的語法蔬将,繼承相關(guān)的語法爷速,異常的語法,線程的語...
    子非魚_t_閱讀 31,597評論 18 399
  • 回溯算法 回溯法:也稱為試探法霞怀,它并不考慮問題規(guī)模的大小惫东,而是從問題的最明顯的最小規(guī)模開始逐步求解出可能的答案,并...
    fredal閱讀 13,632評論 0 89
  • 參加了一場gitchat,還是有一定的收獲廉沮⊥嵌簦看到一句話,學(xué)過的東西要輸出滞时,所以打算寫一篇文章記錄下這幾個問題以及當...
    _karen閱讀 638評論 0 1