mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 11:34:46 +08:00
Merge branch 'youngyangyang04:master' into master
This commit is contained in:
@ -493,6 +493,33 @@ object Solution {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
rust:
|
||||||
|
|
||||||
|
```rust
|
||||||
|
impl Solution {
|
||||||
|
pub fn is_valid(s: String) -> bool {
|
||||||
|
if s.len() % 2 == 1 {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
let mut stack = vec![];
|
||||||
|
let mut chars: Vec<char> = s.chars().collect();
|
||||||
|
while let Some(s) = chars.pop() {
|
||||||
|
match s {
|
||||||
|
')' => stack.push('('),
|
||||||
|
']' => stack.push('['),
|
||||||
|
'}' => stack.push('{'),
|
||||||
|
_ => {
|
||||||
|
if stack.is_empty() || stack.pop().unwrap() != s {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stack.is_empty()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||||
|
@ -420,6 +420,41 @@ object Solution {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
rust:
|
||||||
|
|
||||||
|
```rust
|
||||||
|
impl Solution {
|
||||||
|
pub fn eval_rpn(tokens: Vec<String>) -> i32 {
|
||||||
|
let mut stack = vec![];
|
||||||
|
for token in tokens.into_iter() {
|
||||||
|
match token.as_str() {
|
||||||
|
"+" => {
|
||||||
|
let a = stack.pop().unwrap();
|
||||||
|
*stack.last_mut().unwrap() += a;
|
||||||
|
}
|
||||||
|
"-" => {
|
||||||
|
let a = stack.pop().unwrap();
|
||||||
|
*stack.last_mut().unwrap() -= a;
|
||||||
|
}
|
||||||
|
"*" => {
|
||||||
|
let a = stack.pop().unwrap();
|
||||||
|
*stack.last_mut().unwrap() *= a;
|
||||||
|
}
|
||||||
|
"/" => {
|
||||||
|
let a = stack.pop().unwrap();
|
||||||
|
*stack.last_mut().unwrap() /= a;
|
||||||
|
}
|
||||||
|
_ => {
|
||||||
|
stack.push(token.parse::<i32>().unwrap());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stack.pop().unwrap()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||||
|
@ -802,6 +802,35 @@ class myDequeue{
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
rust:
|
||||||
|
|
||||||
|
```rust
|
||||||
|
impl Solution {
|
||||||
|
pub fn max_sliding_window(nums: Vec<i32>, k: i32) -> Vec<i32> {
|
||||||
|
let mut res = vec![];
|
||||||
|
let mut queue = VecDeque::with_capacity(k as usize);
|
||||||
|
for (i, &v) in nums.iter().enumerate() {
|
||||||
|
// 如果队列长度超过 k,那么需要移除队首过期元素
|
||||||
|
if i - queue.front().unwrap_or(&0) == k as usize {
|
||||||
|
queue.pop_front();
|
||||||
|
}
|
||||||
|
while let Some(&index) = queue.back() {
|
||||||
|
if nums[index] >= v {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// 如果队列第一个元素比当前元素小,那么就把队列第一个元素弹出
|
||||||
|
queue.pop_back();
|
||||||
|
}
|
||||||
|
queue.push_back(i);
|
||||||
|
if i >= k as usize - 1 {
|
||||||
|
res.push(nums[queue[0]]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
res
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
|
||||||
|
Reference in New Issue
Block a user