rust_test/src/main.rs

29 lines
689 B
Rust

struct Solution;
impl Solution {
pub fn pancake_sort(arr: Vec<i32>) -> Vec<i32> {
let mut arr = arr;
let mut ans = vec![];
for i in (1..arr.len()+1).rev() {
if arr[i-1] == i as i32 {
continue;
}
let mut index = 0;
while arr[index] != i as i32 {
index += 1;
}
ans.push((index + 1) as i32);
arr[0..index + 1].reverse();
ans.push(i as i32);
arr[0..i].reverse();
println!("{:?}", arr);
}
ans
}
}
fn main() {
let sl = Solution::pancake_sort(vec![3, 2, 4, 1]);
println!("{:?}", sl);
}