程式設計之美 陣列分割 (能列印具體資料)

2021-06-07 19:10:57 字數 696 閱讀 8809

#include#include#include#include#include#include#include#include#include using namespace std;

int main()

; int sum=0;

for(int i=0;i<=n;i++)

sum+=a[i];

//定義記憶體

int **p=new int*[n+1];

for(int i=0;i<=n;i++)

//初始化

for(int row=0;row<=n;row++)

for(int col=0;col<=sum;col++)

p[row][col]=-1;

p[0][0]=0;

for(int k=1;k<=n;k++)//考慮到第k個,並非表示一共k個

}} //列印出dp形成的二維陣列

for(int col=0;col<=sum;col++)

//找路徑,列印出 num個資料 形成的和為sss的資料

int sss=8;

int num=3;

if(p[num][sss]==-1)

while(num)//只考慮了有解的情況

system("pause");

return 0;

}

程式設計之美 陣列分割

問題1 有乙個無序 元素個數為n的正整數陣列,要求 如何能把這個陣列分割為兩個子陣列,子陣列的元素個數不限,並使兩個子陣列之和最接近。解答 int sum 0 for i 0 i0 j 從最大的開始遍歷,是為了防止同乙個數選取多次 for j sum 2 j if dp j break return...

程式設計之美 陣列分割

程式設計之美 陣列分割 和擴充套件 將乙個陣列劃分成兩個子陣列,要求他們的和最接近 1.長度要求相等的情況 2.長度沒有要求的情況 都能用動態規劃解決 include includeusing namespace std void arraysplit1 int a,int n 兩個子陣列長度要求相...

程式設計之美 陣列分割

問題 有乙個沒有排序,有2n個元素的陣列,要求把這個陣列分為兩部分,分別含有n個元素,並使兩個子陣列的和最接近。這裡的程式主要是計算這個和的值。比如陣列 計算後符合的分法是 和算出比較小的就可以了是 110 例如陣列 分開後是 和 思考方法 動態規劃 1 計算出陣列中所有元素的和,並把它除以2,這樣...