网站开发建设收费标准wordpress中没有链接地址
2026/4/18 10:35:42 网站建设 项目流程
网站开发建设收费标准,wordpress中没有链接地址,什么是平台设计,可以入侵的网站单调栈基础通常是一维数组#xff0c;要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置#xff0c;此时我们就要想到可以用单调栈了#xff0c;时间复杂度为O(n)。739. 每日温度 构建一个栈#xff0c;用来一次存储从大到小的元素#xff08;栈底大#…单调栈基础通常是一维数组要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置此时我们就要想到可以用单调栈了时间复杂度为O(n)。739. 每日温度构建一个栈用来一次存储从大到小的元素栈底大栈顶小从后向前遍历每日温度和栈订的数据进行比较可能出现如下的情况1栈内要有元素2第i日温度大于栈顶的温度此时栈顶的温度并非最高由于是从后向前遍历也即存在栈顶元素之前的某一天温度高于栈顶如下图的5和2也即2不会对前面的时间产生影响不会成为前面日子升高气温的某一天因为5代替了他的效果。因此pop掉没有第i日高的温度。3等于同上理4第i日温度小于栈顶的温度也即此时可能有贡献加入到栈中在执行完弹出操作后如果栈非空那么栈顶元素就是距离第i天右边最近的、温度比它高的日子的索引。因此等待的天数就是stack[-1] - i并将其存入ans[i]。如果栈为空则说明右边没有更高的温度ans[i]保持为0class Solution: def dailyTemperatures(self, temperatures: List[int]) - List[int]: n len(temperatures) stack [] ans [0]*n for i in range(n-1 ,-1 ,-1): t temperatures[i] while stack and t temperatures[stack[-1]]: stack.pop() if stack: ans[i] stack[-1] - i stack.append(i) return ans496.下一个更大元素 I下面是暴力搜索的方法侥幸没超时class Solution: def nextGreaterElement(self, nums1: List[int], nums2: List[int]) - List[int]: m len(nums1) n len(nums2) ans [-1] * m stack [] for i in range(m): for j in range(n-1, -1, -1): if nums2[j] nums1[i]: stack.append(nums2[j]) elif nums2[j] nums1[i] and stack: ans[i] stack[-1] print(stack) stack [] return ans单调栈方法考虑建立nums1和nums2之间的映射然后在nums2中进行单调栈处理即可。在栈非空且遍历到的元素大于栈顶元素时也即找到了该栈顶元素的最近的较大数不断查找栈顶元素在nums1中是否存在存在的话就存储到结果中。处理完之后加入栈中class Solution: def nextGreaterElement(self, nums1: List[int], nums2: List[int]) - List[int]: m len(nums1) n len(nums2) idx {x:i for i,x in enumerate(nums1)} ans [-1] * m stack [] for p in range(n): while stack and nums2[p] nums2[stack[-1]]: k stack.pop() if nums2[k] in idx: ans[idx[nums2[k]]] nums2[p] stack.append(p) return ans503.下一个更大元素II和上面一题思路非常类似由于存在循环可以将数组扩展复制一份继续检查也即实现了循环的效果class Solution: def nextGreaterElements(self, nums: List[int]) - List[int]: n len(nums) ans [-1]*n stack [] for i in range(n): nums.append(nums[i]) for j in range(2*n): while stack and nums[j] nums[stack[-1]]: k stack.pop() if k n: ans[k] nums[j] stack.append(j) return ans

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询