如何用NVIDIA-Ising-Calibration-1.5-31B-BF16快速分析量子实验数据?新手入门指南
2026/8/4 22:11:11
解法:利用while循环判断是否应该让stack_top出栈、同时stack里面的相邻关系就是temperatures每日温度里面的相邻关系
from typing import List class Solution: def largestRectangleArea(self, heights: List[int]) -> int: # 在数组前后各加一个高度为 0 的柱子,方便处理边界 heights = [0] + heights + [0] stack = [] # 存储索引,栈内索引对应的高度是单调递增的 max_area = 0 for i in range(len(heights)): # 当前高度小于栈顶高度时,可以计算以栈顶高度为高的矩形面积 while stack and heights[i] < heights[stack[-1]]: height = heights[stack.pop()] # 当前栈顶是左边界,i 是右边界 width = i - stack[-1] - 1 max_area = max(max_area, height * width) stack.append(i) # 当前i比stack_top高的时候才入栈,反过来说,每次入栈的都是temperatures更高的 return max_area