Files

20 lines
598 B
Rust

impl Solution {
pub fn find_disappeared_numbers(mut nums: Vec<i32>) -> Vec<i32> {
for i in 1..=nums.len(){
let mut cur = nums[i - 1];
if cur as usize == i {
continue;
}
loop{
let temp = nums[cur as usize - 1];
nums[cur as usize - 1] = cur;
cur = temp;
if nums[cur as usize - 1] == cur{
break;
}
}
}
(1..=nums.len()).filter(|&i| i != nums[i - 1] as usize).map(|x| x as i32).collect()
}
}