Наименьшая сумма, непрерывный подмассивJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Наименьшая сумма, непрерывный подмассив

Сообщение Anonymous »

Я пытался написать метод, который принимает массив в качестве аргумента и возвращает непрерывный подмассив наименьшей суммы. Я попробовал несколько входных данных, и когда я пытался arr[] = {10, -5, 2, -1, 7, -3}, я должен получить результат: {-5, 2, -1}< /code> и сумма равна -4, но я получил результат {-5}. Я не знаю, сможет ли кто-нибудь мне помочь. Спасибо!

Вот мой код:
public static int[] smallestSumSubarray(int arr[]) {
if(arr == null || arr.length == 0) {
return new int[] {}; //Return an empty array if input is empty
}
int minSum = Integer.MAX_VALUE;
int start = 0;
int end = 0;
//iterate through the array starting from the second element
for(int i = 0; i < arr.length; i++) {
int crntSum = 0;
for(int j = i; j < arr.length; j++) {
crntSum += arr[j];
if(crntSum < minSum) {
minSum = crntSum;
start = i;
end = j;
}
}
}
return Arrays.copyOfRange(arr, start, end + 1);
}

public static void main(String[] arg) {
int arr[] = {10, -5, 2, -1, 7, -3};
int[] smallestSubarray = smallestSumSubarray(arr);
System.out.print("The smallest subarray is: ");
for(int num : smallestSubarray) {
System.out.print(num + " ");
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... s-subarray
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Наименьшая сумма, непрерывный подмассив
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Наименьшая контрольная сумма строки
    Anonymous » » в форуме Php
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Набор флаттеров, наименьшая ширина DP
    Anonymous » » в форуме Android
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • D(x) — это сумма цифр x+сумма первых множителей x +x. Мы должны сказать, есть ли действительный x для ввода или нет [зак
    Anonymous » » в форуме Python
    0 Ответы
    97 Просмотры
    Последнее сообщение Anonymous
  • Android Adb, как отправлять непрерывный входной сигнал с задержкой 0 с
    Anonymous » » в форуме Android
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

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