做网站的团队业绩怎么写杭州公司注销网站备案
做网站的团队业绩怎么写,杭州公司注销网站备案,wordpress禁用emoji,怎么选择网站开发LeetCode-503. 下一个更大元素 II【栈 数组 单调栈】 题目描述#xff1a;解题思路一#xff1a;单调栈。思路是利用循环数组来维护一个单调递减栈#xff0c;遇到当前元素比栈顶元素大的就出栈#xff0c;在出栈的时候维护出栈元素的结果#xff08;即当前元素是出栈元素… LeetCode-503. 下一个更大元素 II【栈 数组 单调栈】 题目描述解题思路一单调栈。思路是利用循环数组来维护一个单调递减栈遇到当前元素比栈顶元素大的就出栈在出栈的时候维护出栈元素的结果即当前元素是出栈元素的下一个更大元素。循环数组可以用取余和复制数组实现这里用的是取余。解题思路二0解题思路三0 题目描述
给定一个循环数组 nums nums[nums.length - 1] 的下一个元素是 nums[0] 返回 nums 中每个元素的 下一个更大元素 。
数字 x 的 下一个更大的元素 是按数组遍历顺序这个数字之后的第一个比它更大的数这意味着你应该循环地搜索它的下一个更大的数。如果不存在则输出 -1 。
示例 1: 输入: nums [1,2,1] 输出: [2,-1,2] 解释: 第一个 1 的下一个更大的数是 2 数字 2 找不到下一个更大的数 第二个 1 的下一个最大的数需要循环搜索结果也是 2。
示例 2: 输入: nums [1,2,3,4,3] 输出: [2,3,4,-1,4]
提示: 1 nums.length 104 -109 nums[i] 109
解题思路一单调栈。思路是利用循环数组来维护一个单调递减栈遇到当前元素比栈顶元素大的就出栈在出栈的时候维护出栈元素的结果即当前元素是出栈元素的下一个更大元素。循环数组可以用取余和复制数组实现这里用的是取余。
是一个单调递减栈
class Solution:def nextGreaterElements(self, nums: List[int]) - List[int]:n len(nums)stack []res [-1] * nfor i in range(2 * n):while stack and nums[stack[-1]] nums[i % n]:res[stack.pop()] nums[i % n]stack.append(i % n)return res时间复杂度O(n) 遍历两遍数组 空间复杂度O(n) 栈
解题思路二0 解题思路三0
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86769.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!