山东网站方案对网站建设的调研报告
web/
2025/10/4 23:16:24/
文章来源:
山东网站方案,对网站建设的调研报告,郴州网站建设哪个好,wordpress 访问数据库1. 题目
给定一个整数数组 A#xff0c;坡是元组 (i, j)#xff0c;其中 i j 且 A[i] A[j]。这样的坡的宽度为 j - i。
找出 A 中的坡的最大宽度#xff0c;如果不存在#xff0c;返回 0 。
示例 1#xff1a;
输入#xff1a;[6,0,8,2,1,5]
输出#xff1…1. 题目
给定一个整数数组 A坡是元组 (i, j)其中 i j 且 A[i] A[j]。这样的坡的宽度为 j - i。
找出 A 中的坡的最大宽度如果不存在返回 0 。
示例 1
输入[6,0,8,2,1,5]
输出4
解释
最大宽度的坡为 (i, j) (1, 5): A[1] 0 且 A[5] 5.示例 2
输入[9,8,1,0,1,9,4,0,4,1]
输出7
解释
最大宽度的坡为 (i, j) (2, 9): A[2] 1 且 A[9] 1.提示
2 A.length 50000
0 A[i] 50000来源力扣LeetCode 链接https://leetcode-cn.com/problems/maximum-width-ramp 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题 [9,8,1,0,1,9,4,0,4,1]class Solution { //错误解
public:int maxWidthRamp(vectorint A) {dequeint q;int maxlen 0;for(int i 0; i A.size(); i){while(!q.empty() A[q.back()] A[i])q.pop_back();if(!q.empty())maxlen max(maxlen, i-q.front());q.push_back(i);}return maxlen;}
};正序单调递减栈(存储下标)如果有大的不需要入栈因为前面的比它小宽度更大逆序遍历原数组与栈顶比较
class Solution {
public:int maxWidthRamp(vectorint A) {stackint s;int maxlen 0, i;for(i 0; i A.size(); i){if(s.empty() || A[s.top()] A[i])//单调递减栈s.push(i);}for(i A.size()-1; i 0; --i){while(!s.empty() A[i] A[s.top()]){maxlen max(maxlen, i-s.top());s.pop();}}return maxlen;}
};136 ms 28.1 MB
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87028.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!