8 調整陣列使差最小

2021-09-08 00:26:57 字數 1046 閱讀 7844

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 用兩個指標,頭指標指向陣列開始,尾指標指向陣列...