zoukankan      html  css  js  c++  java
  • [leetcode-84-Largest Rectangle in Histogram]

    Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.

    Above is a histogram where width of each bar is 1, given height = [2,1,5,6,2,3].

    The largest rectangle is shown in the shaded area, which has area = 10 unit.

    For example,
    Given heights = [2,1,5,6,2,3],
    return 10.

    思路:

    查看当前值是否是递增状态,围成的矩阵面积可能会继续增加,那么继续向后遍历。

    如果发生值减小,向前查看组成的面积大小。

    int largestRectangleArea(vector<int>& height) {
            int res = 0;
            for (int i = 0; i < height.size(); ++i)
         {
    if (i + 1 < height.size() && height[i] <= height[i + 1]) continue; int minH = height[i]; for (int j = i; j >= 0; --j)
           { minH
    = min(minH, height[j]); int area = minH * (i - j + 1); res = max(res, area); } } return res; }

    参考:

    http://www.cnblogs.com/grandyang/p/4322653.html

  • 相关阅读:
    MobileNet V1 V2
    异常检测 与 One Class SVM
    异常检测
    图像分割
    1x1卷积核的作用
    迁移学习
    python
    图像分割
    图像分割
    Nagios
  • 原文地址:https://www.cnblogs.com/hellowooorld/p/7473441.html
Copyright © 2011-2022 走看看