mirror of
https://git.proxmox.com/git/rustc
synced 2026-01-07 06:11:51 +00:00
38 lines
753 B
Plaintext
38 lines
753 B
Plaintext
43% SLOWER implementation
|
|
|
|
pub fn experimental_uniques<T: std::cmp::PartialEq<T> + std::clone::Clone>(a: Vec<T>, b: Vec<T>) -> Vec<Vec<T>> {
|
|
let mut first_uniq = a.clone();
|
|
let mut second_uniq = b.clone();
|
|
|
|
let mut x = first_uniq.len();
|
|
|
|
'outer: loop {
|
|
x -= 1;
|
|
let mut y = second_uniq.len();
|
|
let mut removed = false;
|
|
'inner: loop {
|
|
y -= 1;
|
|
if first_uniq[x] == second_uniq[y] {
|
|
first_uniq.remove(x);
|
|
second_uniq.remove(y);
|
|
removed = true
|
|
}
|
|
if x == 0{
|
|
if y == 0{
|
|
break 'outer
|
|
}
|
|
}
|
|
else {
|
|
if y == 0{
|
|
break
|
|
}
|
|
if removed {
|
|
continue 'outer
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
vec![first_uniq, second_uniq]
|
|
}
|