Exercise
- leet code
- Given an integer array nums and an integer val, remove all occurrences of val in nums in-place.
- The relative order of the elements may be changed.
- You must instead have the result be placed in the first part of the array nums.
- More formally, if there are k elements after removing the duplicates, then the first k elements of nums should hold the final result.
Example 1:
Input: nums = [3,2,2,3], val = 3
Output: 2, nums = [2,2,_,_]
Explanation: Your function should return k = 2,
with the first two elements of nums being 2.
It does not matter what you leave beyond the returned k (hence they are underscores).
pub fn remove_element(nums: &mut Vec<i32>, val: i32) -> i32 { let mut index = 0; for i in 0..nums.len(){ if nums[i] != val { nums[index] = nums[i]; index += 1; } } println!("So we take the first {} , from the vec {:?}", index , nums); index as i32 } fn main() { remove_element(&mut vec![3,2,2,3],3); }