public int largestRectangleArea(int[] height) {
		// write your code here
		Stack<Integer> s=new Stack<>();
		int[]h=height;
		int rel=0;
		for (int n=h.length, i=0; i<n||!s.isEmpty();) {
			if (s.isEmpty()||(i<n&&h[s.peek()]<h[i])) {
				s.push(i++);
			} else {
				int ht=h[s.pop()];
				int p=s.isEmpty()?0:s.peek()+1;
				rel=Math.max(rel,ht*(i-p));
			}
		}
		return rel;
	}