dividir a lista em duas partes cuja soma é mais próxima uma da outra
Isto é umDifícil algoritmos problema que:
Divida a lista em 2 partes (soma) com a soma mais próxima (mais) uma da outra
o comprimento da lista é 1 <= n <= 100 e seus pesos (números) 1 <= w <= 250 dados na pergunta.
Por exemplo: 23 65 134 32 95 123 34
1.sum = 256
2. soma = 250
1.list = 1 2 3 7
2.list = 4 5 6
Eu tenho um algoritmo, mas não funcionou para todas as entradas.
iniciar. lista list1 = [], lista2 = []Classificar elementos (lista fornecida) [23 32 34 65 95 123 134]pop último (máximo um)inserir na lista que difere menosImplementação: list1 = [], list2 = []
selecione 134 inserir lista1. list1 = [134]selecione 123 inserir lista2. porque se você inserir na lista1 a diferença está aumentando3. selecione 95 e insira a lista2. porque soma (lista2) + 95 - soma (lista1) é menor.
e assim por diante...