## Problem

You are given an integer array `height`

of length `n`

. There are `n`

vertical lines drawn such that the two endpoints of the `i`

line are ^{th}`(i, 0)`

and `(i, height[i])`

.

Find two lines that together with the x-axis form a container, such that the container contains the most water.

Return *the maximum amount of water a container can store*.

**Notice** that you may not slant the container.

**Example 1:**

Input:height = [1,8,6,2,5,4,8,3,7]Output:49Explanation:The above vertical lines are represented by array [1,8,6,2,5,4,8,3,7]. In this case, the max area of water (blue section) the container can contain is 49.

**Example 2:**

Input:height = [1,1]Output:1

## Solution

### Bruteforce solution with O(n2) time complexity

```
// brute force solution O(n2) time complexity
var maxArea = function(height) {
let biggestarea = 0;
for(let i = 0; i<height.length; i++){
for(let j = i+1; j<height.length;j++){
let smallerheight = (height[i] > height[j])?height[j]:height[i];
let area = Math.abs(smallerheight)*Math.abs(i-j);
if(area > biggestarea){
biggestarea = area;
}
}
}
return biggestarea;
};
```

### Optimal solution with O(n) complexity

```
// optimal solution with O(n) time complexity
var maxArea = function(height) {
let biggestarea = 0;
let left = 0; let right = height.length -1;
while(left < right){
let smallerheight = (height[left] > height[right])?height[right]:height[left];
let area = Math.abs(smallerheight)*Math.abs(left-right);
if(area > biggestarea){
biggestarea = area;
}
if(height[left] < height[right]){
left++;
}
else{
right--;
}
}
return biggestarea;
};
```

A freelance web developer with a decade of experience in creating high-quality, scalable web solutions. His expertise spans PHP, WordPress, Node.js, MySQL, MongoDB, and e-commerce development, ensuring a versatile approach to each project. Aadi’s commitment to client satisfaction is evident in his track record of over 200 successful projects, marked by innovation, efficiency, and a customer-centric philosophy.

As a professional who values collaboration and open communication, Aadi has built a reputation for delivering projects that exceed expectations while adhering to time and budget constraints. His proactive and problem-solving mindset makes him an ideal partner for anyone looking to navigate the digital landscape with a reliable and skilled developer.