Skip to content

Commit 2e5c9d2

Browse files
Merge pull request youngyangyang04#2174 from Ainevsia/patch-1
Update 0496.下一个更大元素I.md
2 parents d337b0c + 1c7b15b commit 2e5c9d2

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

problems/0496.下一个更大元素I.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,32 @@ function nextGreaterElement(nums1: number[], nums2: number[]): number[] {
387387
};
388388
```
389389

390+
Rust
391+
392+
```rust
393+
impl Solution {
394+
pub fn next_greater_element(nums1: Vec<i32>, nums2: Vec<i32>) -> Vec<i32> {
395+
let mut ans = vec![-1; nums1.len()];
396+
use std::collections::HashMap;
397+
let mut map = HashMap::new();
398+
for (idx, &i) in nums1.iter().enumerate() {
399+
map.insert(i, idx);
400+
}
401+
let mut stack = vec![];
402+
for (idx, &i) in nums2.iter().enumerate() {
403+
while !stack.is_empty() && nums2[*stack.last().unwrap()] < i {
404+
let pos = stack.pop().unwrap();
405+
if let Some(&jdx) = map.get(&nums2[pos]) {
406+
ans[jdx] = i;
407+
}
408+
}
409+
stack.push(idx);
410+
}
411+
ans
412+
}
413+
}
414+
```
415+
390416

391417

392418
<p align="center">

0 commit comments

Comments
 (0)