Merge pull request #1950 from fwqaaq/patch-12

Update 0045.跳跃游戏II.md about rust
This commit is contained in:
程序员Carl
2023-03-27 10:11:07 +08:00
committed by GitHub

View File

@ -379,23 +379,25 @@ object Solution {
```Rust ```Rust
//版本一 //版本一
impl Solution { impl Solution {
fn max(a: i32, b:i32) -> i32 {
if a > b { a } else { b }
}
pub fn jump(nums: Vec<i32>) -> i32 { pub fn jump(nums: Vec<i32>) -> i32 {
if nums.len() == 0 { return 0; } if nums.len() == 1 {
let mut cur_distance: i32 = 0; return 0;
let mut ans: i32 = 0; }
let mut next_distance: i32 = 0; let mut cur_distance = 0;
for i in 0..nums.len() { let mut ans = 0;
next_distance = Self::max(nums[i] + i as i32, next_distance); let mut next_distance = 0;
if i as i32 == cur_distance { for (i, &n) in nums.iter().enumerate().take(nums.len() - 1) {
if cur_distance != (nums.len() - 1) as i32 { next_distance = (n as usize + i).max(next_distance);
if i == cur_distance {
if cur_distance < nums.len() - 1 {
ans += 1; ans += 1;
cur_distance = next_distance; cur_distance = next_distance;
if next_distance == (nums.len() - 1) as i32 { break; } if next_distance >= nums.len() - 1 {
break;
};
} else {
break;
} }
else { break; }
} }
} }
ans ans
@ -406,16 +408,16 @@ impl Solution {
```Rust ```Rust
//版本二 //版本二
impl Solution { impl Solution {
fn max(a: i32, b:i32) -> i32 {
if a > b { a } else { b }
}
pub fn jump(nums: Vec<i32>) -> i32 { pub fn jump(nums: Vec<i32>) -> i32 {
let mut cur_distance: i32 = 0; if nums.len() == 1 {
let mut ans: i32 = 0; return 0;
let mut next_distance: i32 = 0; }
for i in 0..nums.len() - 1 { let mut cur_distance = 0;
next_distance = Self::max(nums[i] + i as i32, next_distance); let mut ans = 0;
if i as i32 == cur_distance { let mut next_distance = 0;
for (i, &n) in nums.iter().enumerate().take(nums.len() - 1) {
next_distance = (n as usize + i).max(next_distance);
if i == cur_distance {
cur_distance = next_distance; cur_distance = next_distance;
ans += 1; ans += 1;
} }