LeetCode solutions

4119. Minimum Distance Between Three Equal Elements II

My accepted Python solution to LeetCode problem 4119, Minimum Distance Between Three Equal Elements II, running in 359ms.

  • Difficulty: Medium
  • Python
  • Runtime 359ms
  • Memory 48.4MB

Read the problem on LeetCode View on GitHub

Python

Accepted on LeetCode — runtime 359ms, memory 48.4MB, accepted 2025-12-30.

python
class Solution:
    def minimumDistance(self, nums: List[int]) -> int:
        from collections import defaultdict
        
        # Group indices by value
        pos = defaultdict(list)
        for i, v in enumerate(nums):
            pos[v].append(i)
        
        min_dist = float('inf')
        
        for v, indices in pos.items():
            if len(indices) < 3:
                continue
            # For each triplet of consecutive occurrences
            for i in range(len(indices) - 2):
                # Distance = 2 * (indices[i+2] - indices[i])
                dist = 2 * (indices[i + 2] - indices[i])
                min_dist = min(min_dist, dist)
        
        return -1 if min_dist == float('inf') else min_dist

Source