Container With Most Water (clever)

Run Settings
LanguagePython
Language Version
Run Command
# You are given an integer array height of length n. There are n vertical lines # drawn such that the two endpoints of the ith line are (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: 49 Explanation: The above vertical # lines are represented by array [1,8,6,2,5,4,8,3,7]. In this case, the max area # water (blue section) the container can contain is 49. # Example 2: # Input: height = [1,1] Output: 1 # Constraints: # n == height.length # 2 <= n <= 105 # 0 <= height[i] <= 104 # source: https://thita.ai/problems/container-with-most-water class Solution: def calculateMaxArea(self, height): maxArea = 0 a = 0 len_array = len(height) b = len_array-1 while a != b: heig = min(height[a], height[b]) width = abs(a-b) area = heig*width if area > maxArea: maxArea = area if height[a]<height[b]: a+=1 else: b-=1 return maxArea def main(): print("Hello world!") solution = Solution() test1 = [1,8,6,2,5,4,8,3,7] val = solution.calculateMaxArea(test1) print(f"val={val}") assert(val==49) test2 = [1,1] val = solution.calculateMaxArea(test2) print(f"val={val}") assert(val==1) test3 = [1,2,8,7,33,2,64,1,8,4] val = solution.calculateMaxArea(test3) print(f"val={val}") assert(val==66) print("Goob-bye cruel world!") if __name__ == "__main__": main()
Editor Settings
Theme
Key bindings
Full width
Lines