8、調整陣列使差最小
description
有兩個序列
a,b,大小都為
n,序列元素的值任意整數,無序;
要求:通過交換
a,b
中的元素,使[序列
a 元素的和]與
[序列b 元素的和
]之間的差最小。
input
輸入為兩行,分別為兩個陣列,每個值用空格隔開。
output
輸出變化之後的兩個陣列內元素和的差絕對值。
sample input 1
100 99 98 1 2 3
1 2 3 4 5 40
sample output 1 48
import itertools
import sys
if __name__ == "__main__":
a =
for line in sys.stdin: # 當沒有接受到輸入結束訊號就一直遍歷每一行,以換行加ctrl+d結束
tempstr = line.split() # 對字串利用空字元進行切片
a.extend(tempstr)
s=len(a)
h=int(s/2)
sum1=0
qs=list(itertools.combinations(a, h))
for h in range(len(a)):
sum1+=int(a[h])
st=len(qs)
#print(st)
d=min=999999999
for i in range(st):
d.extend(qs[i])
sum=0
for j in range(len(d)):
sum+=int(d[j])
gd=sum1-sum
sg=abs(sum-gd)
#print(sg)
if(min>sg):
min=sg
d=print(min)
調整陣列,使奇和偶數分開
1.輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分,並保證奇數和奇數。public class adjustarrayoddfronteven 2.增強版 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇...
陣列 調整陣列順序使奇數字於偶數前面
輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。最簡單的方法就是把奇數和偶數按順序挑出來,分別放到vector裡,最後再把偶數的vector接到奇數vector的末尾。1 impo...
調整陣列順序使奇數字於偶數前面
題目 輸入乙個整數陣列,調整陣列中數字的順序,使得所有奇數字於陣列的前面部分,偶數字於陣列的後面部分。思路 要求時間複雜度是 n 1 從頭開始掃瞄陣列,確定數是奇數不動,偶數的話就移動陣列最後。這樣每個偶數都要進行移動,最壞的時間複雜度達到 n 2 2 用兩個指標,頭指標指向陣列開始,尾指標指向陣列...