[CFF认证]201312-3最大的矩形(C++)
2016-12-07 10:44
260 查看
问题描述
答案:简单的两个for循环,时间复杂度为O(n^2),暂时没想到更好的方式,如果想到了会上来更新。
试题编号: | 201312-3 |
试题名称: | 最大的矩形 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。 请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。 输入格式 第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000)。 第二行包含n 个整数h1, h2, … , hn,相邻的数之间由空格分隔。(1 ≤ hi ≤ 10000)。hi是第i个矩形的高度。 输出格式 输出一行,包含一个整数,即给定直方图内的最大矩形的面积。 样例输入 6 3 1 6 5 2 3 样例输出 10 |
#include <iostream> using namespace std; int main(){ int n; cin >> n; int *height=new int ; int result = 0; for (int i = 0; i < n; i++){ cin >> height[i]; int min = height[i]; result = result>height[i] ? result : height[i]; for (int j = 1; j <= i ; j++){ min = min < height[i - j] ? min : height[i - j]; result = result > min*(j + 1) ? result : min*(j + 1); } } cout << result << endl; return 0; }
相关文章推荐
- CCF计算机软件能力认证试题练习201312-3-最大的矩形
- [C++]LeetCode 11: Container With Most Water(最大容积/最大矩形面积)
- CCF-CAP 201312-3 最大的矩形 答案
- [CFF认证]201604-3路径解析(C++)
- 【CCFCSP】201312-3 最大的矩形
- CCF CSP试题 201312-3 最大的矩形
- [C++]LeetCode: 133 Largest Rectangle in Histogram(最大矩形面积)
- 【CSP201312-3】最大的矩形
- [CFF认证]201512-3画图(C++)
- [CFF认证]201509-3模板生成系统(C++)
- 201312-3 最大的矩形
- 【CCF】201312-3 最大矩形
- 201312-3 最大的矩形
- CCF 201312-3 最大的矩形 (暴力,离散化)
- CCF 201312-3最大的矩形
- CCF-最大的矩形-201312-3
- CCF | 201312-3 最大的矩形
- CCF 201312-3 最大的矩形 题解
- CCF CSP 编程题目和解答-----试题名称: 最大的矩形 -------201312-3
- ccf认证最大的矩形