Container With Most Water
題目:
1
有一組數字陣列,值代表高度,index差距代表寬度,求能載入最大水量的面積是多少
解法:
1
預設頭尾為最大的面積,頭為i尾為j,如果i的高度大於j的高度,j--,反之i++,即可求得最大面積
code
func maxArea(height []int) int {
var result int
i, j := 0, len(height) - 1
for i < j {
result = max(result, min(height[i], height[j]) * (j - i))
if height[i] > height[j] {
j--
} else {
i++
}
}
return result
}
func min(a int, b int) int {
if a > b {
return b
}
return a
}
func max(a int, b int) int {
if a > b {
return a
}
return b
}