image.png
示例:
输入: [2,1,5,6,2,3]
输出: 10

暴力

  1. package main
  2. import "fmt"
  3. func largestRectangleArea(heights []int) int {
  4. var res int
  5. for i := 0; i < len(heights); i++ {
  6. var min = heights[i]
  7. for j := i; j < len(heights); j++ {
  8. if min > heights[j] {
  9. min = heights[j]
  10. }
  11. width := j - i + 1
  12. area := min * width
  13. if area > res {
  14. res = area
  15. }
  16. }
  17. }
  18. return res
  19. }
  20. func main() {
  21. fmt.Println(largestRectangleArea([]int{2, 1, 5, 6, 2, 3}))
  22. }

image.png