Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
if v < currentMin:
currentMin, currentMinIndex = v, i
===currentMin — это минимум на промежутке от 0 до i, а за «максимум» на каждой итерации мы принимаем i-ый элемент.currenctMin = 0 # глобальный, но не обязательно лучший минимум
currenctMinIndex = 4 # eго значение
maxDiff = 4 # наилучший результат
bestResult = (0, 1) # индексы "наилучших" экстремумов, соответствующие maxDiff
print max(A)-min(A), а во-вторых по условию минимум должен предшествовать максимуму.max(A)-min(A). :)var arr = [];
for( var a = 0; a < 20; a++ )
arr.push( Math.round( Math.random() * 100 - 50 ) );
//INIT
var arr2 = []
arr2.push( arr[0] );
var n = 0,m = 0,summ = 0;
var n1,m1;
for( var a = 1; a < 20; a++ ){
var last = arr2[arr2.length - 1];
var current = arr[a];
if( last < 0 ){
last = 0;
n = a;
}
if( last > current ){
if( summ < last ){
summ = last;
n1 = n;
m1 = a - 1;
}
}
arr2.push( (last < 0 ? 0 : last) + current );
}
//OUTPUT
console.log( arr )
console.log( arr2 )
console.log( n1, m1 )
Re: Проблема «maximum-subarray» на примере курса доллара