已知數組含有n個元素,請將這n個元素劃分為兩個數組,使得兩個數組的元素之和sum1,sum2之間的差值m最小,輸出劃分好的數組。例如原始數組
int?arr[]={1,1,3,5,7,3}
那么劃分出來的兩個數組分別是
int?arr1[]={3,7}
int?arr2[]={1,1,3,5}
這樣就可以使差值達到最小值0
2 回答

rookie_cainiao3830141
TA貢獻11條經驗 獲得超0個贊
我說一下我的思路。先求出原始數組元素和的二分之一,然后對元素數組的元素進行分配(這個方法特別麻煩)相加,與那個二分之一的數比較,留下最接近的一組。加之前,對原數組進行排序,然后從最大值開始進行加判斷。對于小數組還可以,對大數組就不適合了。僅供參考
添加回答
舉報
0/150
提交
取消