Global and Local Inversions LeetCode solution in Rust
1impl Solution {2pub fn is_ideal_permutation(nums: Vec<i32>) -> bool {3fn _is_ideal_permutation(nums: Vec<i32>) -> Option<bool> {4let mut max = 0;5for i in 0..nums.len().checked_sub(2)? {6max = std::cmp::max(max, *nums.get(i)?);7if max > *nums.get(i + 2)? {8return Some(false);9}10}11Some(true)12}13_is_ideal_permutation(nums).unwrap_or(true)14}15}