add initial data
This commit is contained in:
1 parent
048a82b101
commit
51d935d06b
66 files changed
+1329
No files matched your search
+7
@@ -0,0 +1,7 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "remove-duplicates-from-sorted-array"
|
||||
version = "0.1.0"
|
||||
@@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "remove-duplicates-from-sorted-array"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
@@ -0,0 +1,32 @@
|
||||
fn main() {
|
||||
let mut v = vec![1, 1, 2];
|
||||
dbg!(remove_duplicates(&mut v));
|
||||
dbg!(v);
|
||||
|
||||
let mut v = vec![0, 0, 1, 1, 1, 2, 2, 3, 3, 4];
|
||||
dbg!(remove_duplicates(&mut v));
|
||||
dbg!(v);
|
||||
}
|
||||
|
||||
fn remove_duplicates(nums: &mut Vec<i32>) -> i32 {
|
||||
let mut result = 1;
|
||||
|
||||
let mut unique_nums = vec![nums.first().cloned().unwrap()];
|
||||
let mut previous = *unique_nums.first().unwrap();
|
||||
|
||||
for item in &mut *nums {
|
||||
if *item != previous {
|
||||
result += 1;
|
||||
unique_nums.push(*item);
|
||||
previous = *item;
|
||||
}
|
||||
}
|
||||
|
||||
// write back
|
||||
nums.clear();
|
||||
for item in unique_nums {
|
||||
nums.push(item);
|
||||
}
|
||||
|
||||
result
|
||||
}
|
||||
Reference in new issue
Block a user