class Solution { int largestRectangleArea(List heights) { int ans = 0; List st = []; heights.insert(0, 0); heights.add(0); for (int i = 0; i < heights.length; i++) { while (st.isNotEmpty && heights[st.last] > heights[i]) { int cur = st.removeLast(); int left = st.isEmpty ? 0 : st.last + 1; int right = i - 1; ans = max(ans, (right - left + 1) * heights[cur]); } st.add(i); } return ans; } }

class Solution public int largestRectangleAreavectorint& heights int ans = 0; vectorint st; heightsinsertheightsbegin 0; heightspush_back0; for int i = 0; i heig

原文地址: https://www.cveoy.top/t/topic/izjh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录