Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C++ - 3740. Minimum Distance Between Three Equal Elements I
題目:

解答:
class Solution {
public:
int minimumDistance(vector<int>& nums) {
unordered_map<int, vector<int>> mp;
for (int i = 0; i < nums.size(); i++) {
mp[nums[i]].push_back(i);
}
int ans = INT_MAX;
for (auto& [val, pos] : mp) {
if (pos.size() < 3) {
continue;
}
for (int i = 0; i + 2 < pos.size(); i++) {
ans = min(ans, abs(pos[i + 2] - pos[i + 0]) << 1);
}
}
return ans == INT_MAX ? -1 : ans;
}
};