mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
Update 0503.下一个更大元素II.md
This commit is contained in:
@ -266,6 +266,24 @@ function nextGreaterElements(nums: number[]): number[] {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Rust
|
||||||
|
```rust
|
||||||
|
impl Solution {
|
||||||
|
pub fn next_greater_elements(nums: Vec<i32>) -> Vec<i32> {
|
||||||
|
let mut ans = vec![-1; nums.len() * 2];
|
||||||
|
let mut stack = vec![];
|
||||||
|
let double = nums.repeat(2);
|
||||||
|
for (idx, &i) in double.iter().enumerate() {
|
||||||
|
while !stack.is_empty() && double[*stack.last().unwrap()] < i {
|
||||||
|
let pos = stack.pop().unwrap();
|
||||||
|
ans[pos] = i;
|
||||||
|
}
|
||||||
|
stack.push(idx);
|
||||||
|
}
|
||||||
|
ans.into_iter().take(nums.len()).collect()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
|
Reference in New Issue
Block a user