В этой статье описывается реализация Java алгоритма максимального значения для поиска суммы суб-арайров. Поделитесь этим для вашей ссылки, следующим образом:
Как правило, C и C ++ чаще используются в реализации алгоритма. Ниже мы внедряем алгоритмы через Java Language, что заставляет нас чувствовать себя более интимными.
тема:
Введите массив формирования с положительными и отрицательными числами в массиве.
Один или несколько последовательных целых чисел в массиве образуют субрай, каждый субрай имеет сумму.
Найдите максимальное значение суммы всех субаррей.
Например, входной массив составляет 1, -2, 3, 10, -4, 7, 2, -5, а самый большой субрай -3, 10, -4, 7, 2,
Поэтому вывод является суммой 18 субаррея.
Код реализации:
пакет arrdemo; public class maxsub {public static void main (string [] args) {// todo Автоматическое сгенерированное метод Stub findmaxSubarySum1 (); } public static void findmaxSubarySum1 () {// sum - сумма subarray int sum = 0; // макс - максимальная сумма subarray int max = 0; // начало позиции максимального subarray int startpos = 0; // конечное положение максимального subarray int endpos = 0; int [] array = {-1, 2, -3, 12, -5, -1, 9, -2}; for (int i = 0; i <array.length; i ++) {sum+= array [i]; // sum if (sum <0) {// Если текущая сумма считается отрицательной, очистите, и начальная позиция начинается с следующей позиции sum = 0; startPos = i + 1; } if (sum> max) {// Если сумма считается больше, чем предыдущий максимум, назначить сумму макс и записать последнюю позицию max = sum; endpos = i + 1; }} System.out.println ("wulin.com Тест Результат:"); System.out.println ("max:" + max); System.out.println ("startpos:" + startpos + ", endpos:" + (endpos - 1)); }}Результаты работы:
Для получения дополнительной информации об алгоритмах Java, читатели, которые заинтересованы в этом сайте, могут просмотреть темы: «Учебное пособие по структуре данных Java и алгоритм», «Сводка операции Java Dom Node», «Сводка Java File и каталог
Я надеюсь, что эта статья будет полезна для всех Java Programming.