求正數陣列的最小不可組成和(近似揹包問題)

2021-06-29 08:39:45 字數 586 閱讀 8276

給定乙個全是正數的陣列arr,定義一下arr的最小不可組成和的概念: 1,arr的所有非空子集中,把每個子集內的所有元素加起來會出現很多的值,其中最小的記為min,最大的記為max; 2,在區間[min,max]上,如果有一些正數不可以被arr某乙個子集相加得到,那麼這些正數中最小的那個,就是arr的最小不可組成和; 3,在區間[min,max]上,如果所有的數都可以被arr的某乙個子集相加得到,那麼max+1是arr的最小不可組成和; 舉例: arr = arr的min為2,max為10,在區間[2,10]上,4是不能被任何乙個子集相加得到的值中最小的,所以4是arr的最小不可組成和; arr = arr的min為2,max為9,在區間[2,9]上,8是不能被任何乙個子集相加得到的值中最小的,所以8是arr的最小不可組成和; arr = arr的min為1,max為6,在區間[2,6]上,任何數都可以被某乙個子集相加得到,所以7是arr的最小不可組成和; 請寫函式返回arr的最小不可組成和。

class solution 

i=min;

while(i<=max&&res[i]) i++;

return i;

}};

正數陣列的最小不可組成和

給定乙個正整數陣列arr,其中所有的值都為整數,以下是最小不接組成和的概念 arr 1,2,3,4 返回11 arr 2,3,4 返回7 public intbaoli intarr for int i min 1 i integer.max value i return0 public void ...

正數陣列的最小不可組成和

題目 給定乙個正數陣列arr,其中所有的值都是整數,以下是最小不可組成和的概念 把arr每個子集內的所有元素加起來會出現很多值,其中最小的記為min,最大的記為max。在區間 min,max 上,如果有數不可以被arr某乙個子集相加得到,那麼其中最小的那個數就是arr的最小不可組成和。在區間 min...

正數陣列的最小不可組成和

正數陣列的最小不可組成和 給定乙個正數陣列arr,其中所有的值都為整數,以下是最小不可組成和的概念 請寫函式返回正數陣列arr的最小不可組成和 時間複雜度為o n i 1nar ri o n times sum n arr i o n i 1n arri 額外空間複雜度為o i 1n arri o ...