下一个较大元素
来源:互联网 发布:java 数组 初始化 编辑:程序博客网 时间:2024/04/30 12:18
题目描述
现在我们有一个int数组,请你找出数组中每个元素的下一个比它大的元素。
给定一个int数组A及数组的大小n,请返回一个int数组,代表每个元素比他大的下一个元素,若不存在则为-1。保证数组中元素均为正整数。
测试样例:
[11,13,10,5,12,21,3],7
返回:[13,21,12,12,21,-1,-1]
思路:使用栈,看代码比较好明白。
代码:
class NextElement {public: vector<int> findNext(vector<int> A, int n) { // write code here vector<int> result; stack<int> stk;//用于保存比当前值都大的数 stk.push(-1); for(int i=n-1;i>=0;i--){ int temp=stk.top(); while(temp!=-1&&temp<A[i]){ stk.pop();//弹出比当前元素小的数 temp=stk.top(); } result.insert(result.begin(),temp); stk.push(A[i]); } return result; }};
0 0
- 下一个较大元素
- 下一个较大元素II
- 下一个较大元素
- 下一个较大元素
- 下一个较大元素
- 下一个较大元素
- 寻找下一个较大元素 --- 利用栈
- [程序员面试金典]1002.下一个较大元素
- 栈 之 寻找下一个较大元素 next greater element
- 程序员面试金典——下一个较大元素
- 下一个较大排列组合
- 下一个较大值
- 金典——下一个较大的元素2(需优化)
- 《Cracking the Coding Interview程序员面试金典》----下一个较大元素(所有比他大中最小的)
- 二叉树中序找下一个元素
- 返回下一个元素节点而不是下一个节点
- 找出较大的下一个数字组合 Next Permutation
- 下一个较大值 栈和队列(优化防止TLE)
- 1150. 【克罗地亚】NIKOLA
- 输出单向链表倒数第k个节点,倒数第0个指向尾节点.
- MFC制作CAN窗口软件
- Android数据保存之SQLiteDatabase
- 开源项目ijkplayer使用FFmpeg视频编码SDL显示的编译使用
- 下一个较大元素
- hibernate一对多关系映射时遇到的问题(Could not get constructor for org.hibernate.)
- ORA-04098: trigger 'SYS.OLAPISHUTDOWNTRIGGER' is invalid and failed re-validation
- Nuwa热修复实现
- centos安装lnmp环境(nginx+mysql+php)
- 利用mybatis-generator自动生成代码
- Mysql 复制一条数据
- keepalived + nginx组建高可用负载平衡Web server集群(转载)
- 1148. 【克罗地亚】INSTRUKCIJE