Ordenar y buscar en Rust
Ordenar con un comparador, hallar extremos y buscar en un slice ordenado.
fn main() {
let mut scores = vec![3.5, 1.25, 9.0, 4.75];
scores.sort_by(|a, b| b.partial_cmp(a).unwrap());
println!("{:?}", scores);
let words = ["fig", "banana", "kiwi"];
let longest = words.iter().max_by_key(|w| w.len());
println!("{:?}", longest);
let sorted = [1, 4, 9, 16, 25];
println!("{:?}", sorted.binary_search(&9));
println!("{:?}", sorted.binary_search(&10));
}
Cómo funciona
sort_bytoma un comparador;partial_cmpcubre los floats.max_by_keyencuentra el mayor según un valor derivado.binary_searchexige el slice ya ordenado.
Palabras clave y builtins usados aquí
fnletmut
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 375
- Tokens
- 143
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 95 segundos.
Paso 3 de 8 en Colecciones; paso 32 de 39 en Fundamentos del lenguaje.