20 lines
598 B
Rust
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()
|
|
}
|
|
} |