34 lines
818 B
Rust
34 lines
818 B
Rust
#[cfg(test)]
|
|
mod tests {
|
|
use crate::find_outlier_and_sort;
|
|
|
|
#[test]
|
|
fn it_works() {
|
|
let array: Vec<i32> = vec![1,2,3,6,4,5,7,8];
|
|
assert_eq!(find_outlier_and_sort(array).unwrap(), [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: usize = 0;
|
|
for num in &array {
|
|
if i == 0{
|
|
if num > &array[i+1] {
|
|
barnie = *num as usize;
|
|
}
|
|
}else {
|
|
if (&array[i-1] <= &array[i]) && (&array[i] <= &array[i+1]){
|
|
continue;
|
|
}else if (&array[i-1] <= &array[i+1]){
|
|
barnie = *num as usize;
|
|
}
|
|
}
|
|
|
|
i = i + 1;
|
|
}
|
|
println!("{}", barnie);
|
|
Ok(vec![1,2,3,4,5,6,7,8])
|
|
|
|
}
|