PHP (гипертекстовый препроцессор) является широко используемым языком сценариев на стороне сервера для веб-разработки. Это позволяет разработчикам встраивать код в файлы HTML, обеспечивая создание динамических веб -страниц и взаимодействия с базами данных. PHP известен своей простотой, универсальностью и обширными возможностями интеграции с популярными базами данных. Он предлагает широкий спектр расширений и имеет большое сообщество разработчиков, обеспечивая достаточные ресурсы и поддержку.
]
4 (-1) 2 1 = 6
]максимальная смежная сумма - = 6
]Алгоритм Кадана является эффективным алгоритмом, используемым для поиска максимальной суммы смежного субрай в данном массиве. Он был разработан Джеем Кадана в 1984 году.
]алгоритм работает путем итеративного сканирования массива и поддержав две переменные: max_so_far и max_ending_here. Вот как работает алгоритм:
]инициализируйте переменные MAX_SO_FAR и MAX_ENDING_HEERE в первый элемент массива или к минимальному значению (например, PHP_INT_MIN), если массив содержит отрицательные числа.
итерация через массив из второго элемента и дальше.
для каждого элемента обновите max_ending_here, добавив в него текущий элемент.
, если max_ending_here станет отрицательным, сбросить его до 0, потому что включение текущего элемента в субрай будет уменьшить сумму.
, если max_ending_here больше, чем max_so_far, обновление max_so_far с новой максимальной суммой.
повторить шаги с 3 по 5 для оставшихся элементов массива.
после итерации по всему массиву, max_so_far будет содержать максимальную сумму смежного субрай.
return max_so_far в качестве результата.
Алгоритм Кадана обладает временной сложностью O (n), где n - это размер массива, поскольку он требует только одного прохода через массив. Это делает его эффективным решением для поиска максимальной суммы смежного субрай.
]]
Maximum contiguous sum is 6]
]
Maximum contiguous sum is 6]
"; echo "Starting index ". $start . "]
". "Ending index " . $end . "
"; } // Driver Code $a = array(-2, 1, -3, 4, -1, 2, 1, -5, 4); $n = sizeof($a); $max_sum = maxSubArraySum($a, $n); ?>
Maximum contiguous sum is 6 Starting index 3 Ending index 6]
PHP -программа для поиска самой большой суммы смежного Subarray использует динамическое программирование и алгоритм Кадана. Подход динамического программирования используется для эффективного решения проблемы, разбивая ее на более мелкие подгруппы и сохраняя решения в массиве.
]Алгоритм Кадана является ключевым компонентом программы и отвечает за поиск самой большой суммы. Он итерации над массивом, постоянно обновляя текущую сумму, либо добавив текущий элемент, либо запустив новый Subarray. Максимальная сумма, встречающаяся, хранится в переменной $ maxsum. Программа эффективно обрабатывает как положительные, так и отрицательные числа в массиве. Он идентифицирует Subarray с самой большой суммой, отслеживая начальные и конечные показатели, что позволяет извлечь Subarray с помощью array_slice.
], используя динамическое программирование и алгоритм Кадана, программа достигает временной сложности O (n), где n - размер массива. Это обеспечивает эффективное решение для поиска самой большой суммы смежного субрай в PHP.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3