Контейнер с водой

поиск максимального объема

by Nikita_Lugovykh

JavaScript

const input = [1,8,6,2,5,4,8,3,7]
/* function maxArea(arr) {
  let middleValue = 0
  for (let i = 0; i < arr.length; i++) {
    let x = arr[i] 
    for (let k = 0; k < arr.length; k++) {
      if (i === k) {
        continue
      }
      let y = arr[k]
      if (x <= y) {
        middleValue = Math.max(middleValue, x * (k-i))
        console.log(middleValue)
      } else {
        middleValue = Math.max(middleValue, y * (k-i))
      }
      
    }
  }
return middleValue
} */



function maxArea(arr) {
	let maxArea = 0
	let left = 0;
	let right = arr.length - 1;

	while (left < right) {
  	let current = Math.min(arr[left], arr[right] * (right - left))
		maxArea = Math.max(maxArea, current)
  }
	if (arr[left] < arr[right]) {
		left ++
	} else {
  	right --
  }
	
  return maxArea
	
}

console.log(maxArea(input))