29 lines
660 B
Rust
29 lines
660 B
Rust
#[cfg(test)]
|
|
mod tests {
|
|
#[test]
|
|
fn it_works() {
|
|
let array: Vec<i32> = vec![1,2,3,6,4,5,7,8];
|
|
assert_eq!(find_outlier_and_sort(array), [1,2,3,4,5,6,7,8]);
|
|
}
|
|
}
|
|
|
|
pub fn find_outlier_and_sort(array: Vec<i32>) -> Result<Vec<i32>,()> {
|
|
let mut i = 0;
|
|
let mut barnie = 0;
|
|
for num in array {
|
|
if i == 0{
|
|
if num > &array[i+1] {
|
|
barnie = num;
|
|
}
|
|
}else {
|
|
if &array[i-1] <= &array[i] <= &array[i+1]{
|
|
continue;
|
|
}else if &array[i-1] <= &array[i+1]{
|
|
barnie = num;
|
|
}
|
|
}
|
|
|
|
i = i + 1;
|
|
}
|
|
}
|