Next Greater Element II
来源:互联网 发布:dns默认端口 编辑:程序博客网 时间:2024/05/24 06:01
问题描述:
Given a circular array (the next element of the last element is the first element of the array), print the Next Greater Number for every element. The Next Greater Number of a number x is the first greater number to its traversing-order next in the array, which means you could search circularly to find its next greater number. If it doesn't exist, output -1 for this number.
示例:
Input: [1,2,1]Output: [2,-1,2]Explanation: The first 1's next greater number is 2;
The number 2 can't find next greater number;
The second 1's next greater number needs to search circularly, which is also 2.
Note: The length of given array won't exceed 10000.
问题分析:
利用栈结构,遍历两次数组,对于能找打nextGreater元素,将它的值设置为nextGreater的值,其余的找不到的设置为-1。
过程详见代码:
class Solution {public: vector<int> nextGreaterElements(vector<int>& nums) { int n = nums.size();vector<int> next(n, -1);stack<int> s; // index stackfor (int i = 0; i < n * 2; i++) {int num = nums[i % n];while (!s.empty() && nums[s.top()] < num) {next[s.top()] = num;s.pop();}if (i < n) s.push(i);}return next; }};
阅读全文
0 0
- Next Greater Element II
- Next Greater Element II
- Next Greater Element II
- leeocode_503. Next Greater Element II
- 503. Next Greater Element II
- leetcode-Next Greater Element II
- 503. Next Greater Element II
- 503. Next Greater Element II
- 503. Next Greater Element II
- 503. Next Greater Element II
- 503. Next Greater Element II
- 503. Next Greater Element II
- 503. Next Greater Element II
- LeetCode503. Next Greater Element II
- 503. Next Greater Element II
- 496. Next Greater Element I \ 503. Next Greater Element II
- 496. Next Greater Element I && 503. Next Greater Element II && 556. Next Greater Element III
- leetcode 503. Next Greater Element II
- 用SparkR探索电商数据(一)
- 注意在ajax中return false 为什么表单还是会提交呢
- 简单快捷解决caffe源代码在其他工程(MFC、QT、win32)中调用的问题
- 一次磁盘IO对比
- 简单文件备份工具(C#)
- Next Greater Element II
- 观察者模式Observer Pattern
- Bash Shell 的 嵌套的While带来的问题
- Namespaces (C++)
- linux命令便捷手册
- MVP&Retrofit&Rxjava&Gson的简单例子
- Codeforces 844C Sorting by Subsequences【思维】
- C语言之continue与break的异同
- VS项目属性的一些配置项的总结