Search
Write a publication
Pull to refresh
0
0
Станислав Карасëв @stkr

User

Send message
Если немного изменить код, то должно работать
function getMaxSubSum(arr) {
  var maxCurrent = maxGlobal = arr[0];
  for (var i = 1; i < arr.length; i++) {
    maxCurrent = Math.max(arr[i], maxCurrent + arr[i]);
    maxGlobal = Math.max(maxGlobal, maxCurrent);
  }
  return maxGlobal;
}


Тут без проверки на пустой массив, но суть ясна :)
Он не работает если массив целиком состоит из отрицательных чисел, вместо минимального числа он вернет 0.
А нет, был не прав :) Ответ найден.
Предлагал самый настоящий бинарный, с делением каждый раз на 2 :)
Просто невнимательно прочитал условия задачи и пропустил самое главное — что яиц всего два.
Тут получается первое яйцо кидаем каждые 10 этажей, как разбилось то второе кидаем через этаж с последнего «целого» десятка.
Медленнее бинарного поиска, но целее будут яйца.
И последний, это алгоритм кадана или что-то есть лучше?
С яйцами решить «бинарным поиском» не лучший вариант?
Есть большое приложение на первой ветке, переписывать его нет желания.

Information

Rating
Does not participate
Registered
Activity