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...