網易實習2019程式設計題 牛牛揹包
牛牛準備參加學校組織的春遊, 出發前牛牛準備往揹包裡裝入一些零食, 牛牛的揹包容量為w。
牛牛家裡一共有n袋零食, 第i袋零食體積為v[i]。
牛牛想知道在總體積不超過揹包容量的情況下,他一共有多少種零食放法(總體積為0也算一種放法)。
這個題筆試的時候沒有寫出來
import java.util.*;
public class Main{
public static int count = 1;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int nums = scanner.nextInt();
int w = scanner.nextInt();
if(nums == 0 || w == 0){
System.out.println(0);
return;
}
long[] shiwu = new long[nums];
long sum = 0;
for (int i = 0; i < nums; i++) {
shiwu[i] = scanner.nextInt();
sum += shiwu[i];
}
if(sum <= w){
System.out.println((int)Math.pow(2,nums));
return;
}
helpDfs(shiwu,w,0,0);
System.out.println(count);
}
public static void helpDfs(long[] shiwu,int total,long sum,int cur){
if(cur < shiwu.length){
if(sum > total) return;
if(sum + shiwu[cur] <= total){
count++;
helpDfs(shiwu,total,sum+shiwu[cur],cur+1);
}
helpDfs(shiwu,total,sum,cur+1);
}
}
}
相關文章
- [程式設計題] 黑化的牛牛程式設計
- [程式設計題] 膨脹的牛牛程式設計
- Java實現-揹包問題IJava
- Java實現-揹包問題IIJava
- Java實現-揹包問題VIJava
- ACM 揹包問題ACM
- [Offer收割]程式設計練習賽1 hihocoder 1270 建造基地 (完全揹包)程式設計
- javascript演算法基礎之01揹包,完全揹包,多重揹包實現JavaScript演算法
- 01揹包、完全揹包、多重揹包詳解
- 從【零錢兌換】問題看01揹包和完全揹包問題
- JavaScript中揹包問題(面試題)JavaScript面試題
- 揹包問題例題總結
- 01揹包面試題系列(一)面試題
- JavaScript 揹包問題詳解JavaScript
- 揹包
- 揹包問題解題方法總結
- 01揹包問題的解決
- 揹包問題----動態規劃動態規劃
- 【動態規劃】揹包問題動態規劃
- 揹包問題的演算法演算法
- chapter12-2-揹包問題APT
- 設計師研發智慧揹包Keeback,可實時定位和播放音樂
- 01 揹包
- 揹包DP
- 【程式碼隨想錄】完全揹包
- 動態規劃 01揹包問題動態規劃
- 【動態規劃】01揹包問題動態規劃
- 【leetcode】揹包問題彙總LeetCode
- 動態規劃-01揹包問題動態規劃
- 動態規劃篇——揹包問題動態規劃
- 詳解動態規劃01揹包問題--JavaScript實現動態規劃JavaScript
- 詳解動態規劃01揹包問題–JavaScript實現動態規劃JavaScript
- Python實現UDP包程式設計PythonUDP程式設計
- leetcode題解(0-1揹包問題)LeetCode
- 基礎揹包問題的一些題目!!
- 【動態規劃】01揹包問題【續】動態規劃
- 【演算法】0-1揹包問題演算法
- Facebook 面試題 | Backpack VI 揹包演算法面試題演算法