pub fn remove_duplicates<T: PartialEq + Copy>(nums: &mut [T]) -> usizeExpand description
Tartiblangan massivdan takrorlarni joyida olib tashlaydi.
Qaytadi: yangi (noyob) elementlar soni. Massivning shu qadar boshlang’ich qismi to’g’ri qiymatlarni saqlaydi.
G’oya: yozish ko’rsatkichi noyob qiymatlar uchun, oqish — skanerlash uchun.
- Time: O(n), Space: O(1).
§Misol
use rust_algorithms::other::two_pointers::remove_duplicates;
let mut v = vec![1, 1, 2, 2, 2, 3, 4, 4];
let n = remove_duplicates(&mut v);
assert_eq!(n, 4);
assert_eq!(&v[..n], &[1, 2, 3, 4]);