Max subarray => allogalargumentException: 6> 5JAVA

Программисты JAVA общаются здесь
Anonymous
Max subarray => allogalargumentException: 6> 5

Сообщение Anonymous »

Метод работает как предполагаемый, но, хотя я пробовал несколько случаев, у меня возникла эта странная проблема, так что, надеюсь, кто -то сможет понять, почему и объяснить мне, так как 6> 5 выглядит логически звуко для меня, и когда я пытаюсь превратить отрицательное число к позитивному, он снова работает нормально 😕 < /p>
{2, -5, 6, -1, 4, -10, 2, 3, -2, 5, -1, 2, -4, 3,1} // the array that causes the issue
< /code>
public int[] maxSubArray(int[] arr){
int currentMax = arr[0];
int currentIndex = 0;
int max = arr[0];
int startIndex = 0;

for(int i = 1; i < arr.length; i++){
if(arr > currentMax + arr){
startIndex = i;
}
currentMax = Math.max(currentMax + arr, arr);
if (currentMax > max){
currentIndex = i;
}
max = Math.max(currentMax, max);

}
return Arrays.copyOfRange(arr, startIndex, currentIndex + 1);
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... eption-6-5

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