2026/4/11 leetcode 3741
我是足够聪明的我肯定是可以每天写一道每日一题的。可以用O(n)O(n)O(n)的时间和O(n)O(n)O(n)的空间算出来。这个距离是 2 倍的 k - i 实际上是一个数学推导这里感觉可以卡掉不少人。感觉还是挺不错的。现在开始每天尽量刷一个题这样的话其实可以写不少的题了。还是挺爽的。最怕的是积累。积累是很难速成的。感觉非常不错。这里这个数学推导也可以说一下就是下标的大小关系是确定的也就是说绝对值可以直接去掉然后消掉一个未知数只和第一个下标与最后一个下标相关我们只需要选择最紧凑的就可以了。最小的下标。就是这个意思。哈希表反正是常数时间查询。我们消耗的时间就是一个线性的时间。消耗的空间也就是一个线性的空间。然后好像就没有啥问题了。#includeclimitsclassSolution{public:intminimumDistance(vectorintnums){intmin_distINT_MAX;unordered_mapint,vectorintpos;for(inti0;inums.size();i){pos[nums[i]].push_back(i);}for(auto[num,idx_list]:pos){intmidx_list.size();if(m3){for(inti2;im;i){intdist2*(idx_list[i]-idx_list[i-2]);min_distmin(min_dist,dist);}}}returnmin_distINT_MAX?-1:min_dist;}};