struct Solution; impl Solution { pub fn pancake_sort(arr: Vec) -> Vec { 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); }