LeetCode Entry

3761. Minimum Absolute Distance Between Mirror Pairs

17.04.2026 medium 2026 kotlin rust

Distance to prev mirror number

3761. Minimum Absolute Distance Between Mirror Pairs medium substack youtube

17.04.2026.webp

Join me on Telegram

https://t.me/leetcode_daily_unstoppable/1331

Problem TLDR

Distance to prev mirror number #medium

Intuition

Use a hashmap, scan, put mirrors into map, check for current number.

Approach

  • Kotlin: string conversion is shorter
  • Rust: (0..).zip(n), filter_map

Complexity

  • Time complexity: \(O(m)\)

  • Space complexity: \(O(n)\)

Code

// 232ms
    fun minMirrorPairDistance(n: IntArray) = HashMap<Int, Int>().let { m ->
        n.indices.minOf { i ->
            i - (m[n[i]] ?: -n.size).also { m["${n[i]}".reversed().toInt()] = i }
        }.takeIf { it < n.size } ?: -1
    }
// 19ms
    pub fn min_mirror_pair_distance(n: Vec<i32>) -> i32 {
        let mut m = HashMap::new();
        (0..).zip(n).filter_map(|(i, mut x)| {
            let d = m.get(&x).map(|j| i-j);
            let mut r = 0; while x > 0 {r = r*10+x%10; x /= 10}
            m.insert(r, i); d
        }).min().unwrap_or(-1)
    }