• 有一个直方图,用一个整数数组表示,其中每列的宽度为1,求所给直方图包含的最大矩形面积。比如,对于直方图[2,7,9,4],它所包含的最大矩形的面积为14(即[7,9]包涵的7x2的矩形)。给定一个直方图A及它的总宽度n,请返回最大矩形面积。保证直方图宽度小于等于500。保证结果在int范围内。


    // ConsoleApplication5.cpp : 定义控制台应用程序的入口点。
    //

    #include "stdafx.h"
    #include<vector>
    #include<iostream>
    using namespace std;
    
    class MaxInnerRec {
    public:
    	int countArea(vector<int> A, int n) {
    		vector<int> areas;
    		for (int i = 0; i < A.size(); i++)
    		{
    			int sum = A[i];
    			for (int before = i-1; before >= 0; before--)
    			{
    				if (A[before] < A[i]) {
    					break;
    				}
    				else {
    					sum = sum + A[i];
    				}
    			}
    
    			for (int afer = i + 1; afer < A.size(); afer++)
    			{
    				if (A[afer] < A[i]) {
    					break;
    				}
    				else {
    					sum = sum + A[i];
    				}
    			}
    			areas.push_back(sum);
    		}
    	
    		int maxArea= areas[0];
    		for (int i = 1; i < areas.size(); i++)
    		{
    			if (maxArea < areas[i])
    			{
    				maxArea = areas[i];
    			}
    		}
    		return maxArea;
    	}
    };
    
    int main()
    {
    	vector<int> A = { 2,7,9,4,1 };
    	MaxInnerRec maxInnerRec;
    	cout << maxInnerRec.countArea(A,5)<<endl;
    return 0;
    }
  • 相关阅读:
    Bugly和dispatch_once Crash
    IQKeyboardManager
    Storyboard References
    Book
    Git管理
    iOS开发之RunLoop--转
    H264之PPS、SPS了解
    iOS之UI设置随记
    使用 github 本地项目上传到github上 步骤
    spring中自定义注解
  • 原文地址:https://www.cnblogs.com/wdan2016/p/6508687.html
Copyright © 2020-2023  润新知