Ordenar por maximo en Rust
This commit is contained in:
27
src/Rust/002.rs
Normal file
27
src/Rust/002.rs
Normal file
@@ -0,0 +1,27 @@
|
||||
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"]
|
||||
}
|
||||
Reference in New Issue
Block a user