Files
Exercitium/src/Rust/002.rs
2026-05-09 17:03:37 +02:00

28 lines
896 B
Rust

fn order_by_max_i32(lst: &[Vec<i32>]) -> Vec<Vec<i32>> {
let mut sorted_lst = lst.to_vec();
sorted_lst.sort_by_key(|v| v.iter().max().cloned()); // stable sort by max element
return sorted_lst
}
fn order_by_max_str<'a>(lst: &[&'a str]) -> Vec<&'a str> {
let mut sorted_lst = lst.to_vec();
sorted_lst.sort_by_key(|s| s.chars().max()); // stable sort by max char
return sorted_lst
}
fn main() {
let check = vec![vec![3,2], vec![6,7,5], vec![1,4]];
println!("{:?}", order_by_max_i32(&check)); // [[3,2],[1,4],[6,7,5]]
let check = vec![vec![1], vec![0,1]];
println!("{:?}", order_by_max_i32(&check)); // [[1],[0,1]]
let check = vec![vec![0,1], vec![1]];
println!("{:?}", order_by_max_i32(&check)); // [[0,1],[1]]
let check = vec!["este","es","el","primero"];
println!("{:?}", order_by_max_str(&check)); // ["el","primero","es","este"]
}