第一周

本周所选的题目是

先看问题描述




其中题目中已知的变量


即要找出findNums中的各个元素在nums中的next greater element。就是要在nums中找出findNums中元素的个数,并且在继续向后进行遍历,找出是否在这个元素后有比这个元素大的元素存在,若存在则找出这个数,不存在则为-1。

首先创建一个用于返回的vector<int >v。这里对于每一个findNums中的元素,用for循环进行,并且每一次都将nums中的元素按照下标从大到小压入栈中,这样一开始比较的时候就是从头开始。当栈非空时,取出栈顶元素与findNums中元素进行比较,同时该元素出栈。再引入两个bool变量,is和find,find表示已经在nums中找到该元素,is表示在这个元素后是否有比它大的元素存在。若找到符合条件的元素则完成,并在记录该元素加入v中。若已知等到栈为空时仍未找到,则在v中加入-1。

以下为代码



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值