Массив разделов динамического программирования для поиска минимальной разницы не работает для отрицательных чиселJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Массив разделов динамического программирования для поиска минимальной разницы не работает для отрицательных чисел

Сообщение Anonymous »

Я пытаюсь решить проблему: она работает для массива положительных целых чисел, но не работает для отрицательного тестового примера. Как обработать приведенный ниже тестовый пример?

Вам дан целочисленный массив nums из 2 * n целых чисел. Вам нужно разделить числа на два массива длины n, чтобы минимизировать абсолютную разницу сумм массивов. Чтобы разделить числа, поместите каждый элемент числа в один из двух массивов.
Верните минимально возможную абсолютную разницу.

Я могу получить возможную сумму для этих отрицательных чисел и сохранить ее в списке карт, но когда я перебираю значения карты, чтобы найти абсолютную разницу, я не смог получить правильное значение как 0, вместо этого я получаю значение как 6, потому что в карте запоминания возможно При суммировании -3 к цели мы получаем 3. Таким образом, абсолютная разница становится 6.
Как справиться с этим сценарием? См. комментарий ниже в коде.
Код, который необходимо повторно просмотреть для сценария с отрицательными целыми числами.
Тестовый пример:
Ввод: nums = [2,-1,0,4,-2,-9]
Вывод: 0
Объяснение: Один оптимальный раздел: [2,4,-9] и [-1,0 ,-2].
Абсолютная разность сумм массивов равна abs((2 + 4 + -9) - (-1 + 0 + -2)) = 0.
package com.dynamicProgramming;

import java.util.*;

public class PartitionSum {

List ll = new ArrayList();

public int minimumDifference(int[] nums) {
int n = nums.length;
int range = 0;
for(int i =0;i

Подробнее здесь: https://stackoverflow.com/questions/786 ... or-negativ
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»