main.rs

 avatar
unknown
rust
10 months ago
950 B
1
Indexable
#!/usr/bin/rustc

use std::collections::HashMap;

fn make_key(x: &usize) -> usize {
    let mut v: Vec<char> = x
        .to_string()
        .chars()
        .collect();
    v.sort_by(|a, b| b.cmp(a));
    v
        .into_iter()
        .collect::<String>()
        .parse::<usize>()
        .unwrap()
}

fn main() {
    let cubes: Vec<usize> = (1..10_000)
        .map(|x| x*x*x)
        .collect();
    let keys: Vec<usize> = cubes
        .iter()
        .map(make_key)
        .collect();
    let mut counter: HashMap<usize, Vec<usize>> = HashMap::new();
    for i in 0..cubes.len() {
        let v: &mut Vec<usize> = counter
            .entry(keys[i])
            .or_insert(Vec::new());
        v.push(cubes[i]);
        if v.len() == 5 {
            // for elem in v.clone() {
            //     println!("{}", ((elem as f64).cbrt() + 0.5) as usize);
            // }
            println!("{}", v[0]);
            return;
        }
    }
}

Editor is loading...
Leave a Comment