leetcode 2121. 相同元素的间隔之和

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了leetcode 2121. 相同元素的间隔之和脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

leetcode 2121. 相同元素的间隔之和

 

 

 1 class Solution {
 2 public:
 3     vector<long long> getDistances(vector<int>& arr) {
 4         unordered_map<int,vector<int>>mp;
 5         int n=arr.size();
 6         vector<long long>ans(n);
 7         unordered_map<int,long long>presum,suffsum;
 8         unordered_map<int,int>precnt,suffcnt;
 9         for(int i=0;i<n;i++)
10         {
11             presum[arr[i]]+=i;
12             precnt[arr[i]]++;
13             long long tmp=presum[arr[i]];
14             ans[i]+=1ll*(i)*(precnt[arr[i]] )-tmp;
15         }
16         for(int i=n-1;i>=0;i--)
17         {
18             suffsum[arr[i]]+=i;
19             suffcnt[arr[i]]++;
20             long long tmp=suffsum[arr[i]];
21             ans[i]+=tmp-1ll*(suffcnt[arr[i]])*i;
22             
23         }
24         return ans;
25         
26        /* 
27         x1...xj...xn;
28         xj-x1+...  +xj+1-xj+... xn-xj
29         */
30     }
31 };

 

脚本宝典总结

以上是脚本宝典为你收集整理的leetcode 2121. 相同元素的间隔之和全部内容,希望文章能够帮你解决leetcode 2121. 相同元素的间隔之和所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: