第一周

来源:互联网 发布:fv215b183数据 编辑:程序博客网 时间:2024/05/13 02:35

本周所选的题目是

先看问题描述




其中题目中已知的变量


即要找出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