题解 | #单调栈#

单调栈

http://www.nowcoder.com/practice/ae25fb47d34144a08a0f8ff67e8e7fb5

class Solution {
public:
    vector<vector<int> > foundMonotoneStack(vector<int>& nums) {
        // write code here
        vector<vector<int>>res(nums.size(),vector<int>(2));
        stack<int>l,r;
        for(int i=0;i<nums.size();i++)
        {
            int t=nums[i];
            if(l.empty())
            {
                res[i][0]=-1;
            }else if(nums[l.top()]<t){
                res[i][0]=l.top();
            }
            else if(nums[l.top()]>=t){
                while (!l.empty() && nums[l.top()]>=t){
                    l.pop();
                }
                res[i][0]=(l.empty()?-1:l.top());
            }
            l.push(i);
        }
        for(int j=nums.size()-1;j>=0;j--)
        {
            int t=nums[j];
            if(r.empty())
            {
                res[j][1]=-1;
            }else if(nums[r.top()]<t){
                res[j][1]=r.top();
            }
            else if(nums[r.top()]>=t){
                while (!r.empty() && nums[r.top()]>=t){
                    r.pop();
                }
                res[j][1]=(r.empty()?-1:r.top());
            }
            r.push(j);
        }

        return res;
    }
};
全部评论

相关推荐

01-14 19:01
吉首大学 Java
黑皮白袜臭脚体育生:加个项目吧,一般需要两个项目一业务一轮子呢,简历统一按使用了什么技术实现了什么功能解决了什么问题或提升了什么性能指标来写
点赞 评论 收藏
分享
醒工硬件:如果你想投硬件,可以考虑这么改: 1.个人荣誉没太有保留价值,除非一页凑不满 2.主修课程太多了,可以考虑删减一部分,或者分成硬件和嵌入式2个简历,侧重点不一样 3.个人技能放到学习经历下面,项目经历上面。学习一下AD画板,你有基础一两周也差不多学会了,面试官问你就说你会(总不能拉你实操吧),公司里一般用AD和Cadence比较多,AD好上手一些。增加常用仪器工具说明,例如示波器、信号发生器、电子负载、烙铁、风枪等 4.项目,项目可以多换换行,挤在一起不好阅读。可以说下红外那边用什么接口,蓝牙那边用什么接口,用了哪些关键技术点,多用术语。如果你投硬件,就增加项目1描述比重,降低项目2描述比重
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 听劝,这个简历怎么改 #
14081次浏览 182人参与
# 面试被问“你的缺点是什么?”怎么答 #
6309次浏览 98人参与
# 水滴春招 #
16235次浏览 343人参与
# 入职第四天,心情怎么样 #
11280次浏览 63人参与
# 租房找室友 #
8005次浏览 53人参与
# 读研or工作,哪个性价比更高? #
26151次浏览 356人参与
# 职场新人生存指南 #
199185次浏览 5509人参与
# 参加完秋招的机械人,还参加春招吗? #
26960次浏览 276人参与
# 文科生还参加今年的春招吗 #
4101次浏览 31人参与
# 简历无回复,你会继续海投还是优化再投? #
48619次浏览 561人参与
# 你见过最离谱的招聘要求是什么? #
144708次浏览 829人参与
# 如果重来一次你还会读研吗 #
155712次浏览 1706人参与
# 机械人选offer,最看重什么? #
69076次浏览 449人参与
# 选择和努力,哪个更重要? #
44269次浏览 492人参与
# 如果再来一次,你还会学硬件吗 #
103643次浏览 1245人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
20519次浏览 413人参与
# 招聘要求与实际实习内容不符怎么办 #
46703次浏览 494人参与
# 22届毕业,是读研还是拿外包offer先苟着 #
4652次浏览 27人参与
# 你们的毕业论文什么进度了 #
901179次浏览 8960人参与
# 软开人,你觉得应届生多少薪资才算合理? #
81371次浏览 496人参与
# 国企还是互联网,你怎么选? #
109188次浏览 853人参与
牛客网
牛客企业服务