座標圧縮

GitHub last commit

概要

配列 $A$ を座標圧縮した配列を返す.

制約

実装

// 👇👇👇👇👇👇👇👇👇👇👇👇 util/compressed 👇👇👇👇👇👇👇👇👇👇👇👇
trait Compressed {
    fn compressed(&self) -> Vec<usize>;
}

impl<T: Clone + Ord> Compressed for Vec<T> {
    fn compressed(&self) -> Vec<usize> {
        let mut z = self.clone();
        z.sort();
        z.dedup();
        self.iter()
            .map(|a| z.binary_search(&a.clone()).unwrap())
            .collect()
    }
}
// 👆👆👆👆👆👆👆👆👆👆👆👆 util/compressed 👆👆👆👆👆👆👆👆👆👆👆👆

Verified with

戻る