10個數平均分兩組,差值最小

2021-10-10 10:39:03 字數 796 閱讀 4862

10個球員準備分兩隊進行訓練賽,教練希望兩個隊戰鬥力差值能盡可能小,以達到最佳的訓練效果。

輸入:10個隊員的戰鬥力,如[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

輸出:最小的戰鬥力差值,如:1

用遞迴解決:

class

solution

:def

balance

(self, candidates)

: res =

cur =

self.back(candidates,

0, cur, res)

return

min(res)

defback

(self, candidates, start, cur, res):if

len(cur)==5

:abs

(sum

(candidates)

-sum

(cur)

-sum

(cur)))

return

for i in candidates[start:]:

self.back(candidates, candidates.index(i)+1

, cur, res)

cur.pop(

)print

(solution(

).balance([1

,2,3

,4,5

,6,7

,8,9

,10])

)

求兩個整型數的平均數

兩數相加除以2 這種寫法是簡單將兩個數相加,然後除以2。include int main 這種 是有弊端的,當x y的值大於2147483674時會發生溢位 32位機器上int佔4個位元組,範圍是 2147483648 2147483674 這種情況下兩個正數求出的平均值就是負數!如下 includ...

對10個數進行排序

解題思路 可以採用氣泡排序,每次把相鄰的兩個比較大小,然後把大一點兒的資料放在最後面,這樣第一趟下來,最大的那個數就跑到了最後面,下一次排序就不用跟最後乙個數字比較了,然後倒數第二大的數字會在倒數第二.因此可以使用兩個函式,乙個用於控制每一趟比較的元素個數,乙個用於交換 public class m...

兩數之和等於乙個數

題目01 兩數之和等於乙個數 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。方法1 巢狀迴圈 class solution return indexs...