45 整數陣列,將其分為m份使各份的和相等

2021-06-25 23:33:16 字數 1224 閱讀 8888

/*

45.雅虎:

2.乙個整數陣列,長度為 n,將其分為 m 份,使各份的和相等,求 m 的最大值

比如 可以分成 m=1;

m=2m=3 所以m的最大值為 3

將整個陣列作為乙個集合,最大的可能值就是集合的大小了,最小肯定是1,

那麼從2開始一次判斷。如果集合可被k等分,

那麼首先集合的和能夠被k整除,條件滿足,則重複k-1次從這個集合中取出和為sum/k的子集合。

*/ #include #include #include bool testshare(int s,int n,int m,int groupsum,int goal,int aux,int groupid)

for(int i=0;i=2;--m)//m表示分成幾組,遞減

printf("\n");

return m;

} }return 1;

}int main()

; int b =;

int c =;

printf("陣列的值:");

for(int i=0;i

printf("%d ",a[i]);

printf("\n");

printf("可以分配的最大組數為:%d\n",maxshare(a,sizeof(a)/sizeof(int)));

printf("**************************************\n");

printf("陣列的值:");

for(int i=0;i

printf("%d ",b[i]);

printf("\n");

printf("可以分配的最大組數為:%d\n",maxshare(b,sizeof(b)/sizeof(int)));

printf("**************************************\n");

printf("陣列的值:");

for(int i=0;i

printf("%d ",c[i]);

printf("\n");

printf("可以分配的最大組數為:%d\n",maxshare(c,sizeof(c)/sizeof(int)));

整數陣列加1

leetcode的一道演算法題 給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。最高位數字存放在陣列的首位,陣列中每個元素只儲存單個數字。你可以假設除了整數 0 之外,這個整數不會以零開頭。示例 1 輸入 1,2,3 輸出 1,2,4 解釋 輸入陣列表示數字 123。示例 2 輸入...

整數陣列的組合問題

2015年9月16日,美團南京站南京郵電大學筆試題目之一。大致的題意是這樣的 有乙個元素各不相同的整數陣列,輸入元素的所有組合,長度由大到小。例如 1,2,3,4 依次輸出1234,123,134,234,12,13,14,23,24,1,2,3,4 思路 1 設輸出的組合的長度為m m n 2 把...

MVC自動繫結整數陣列

昨天恰好遇到這個問題,stackoverflow上已經有人回答過了,拿過來在這裡做個筆記。當然下面的例子可以修改,我比較喜歡使用imodelbinder。public class intarraymodelbinder defaultmodelbinder return value attempte...