chensheng@biheap.com:~$

Largest Rectangular Area In A Histogram

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;
}