将数组排序,枚举所有第i个值和倒数第i个值的和是否都为同一个数。
- class Solution {
- public:
- long long dividePlayers(vector<int>& a) {
- long long ans=0;
- int n=a.size();
- int s=0;
- sort(a.begin(),a.end());
- s=a.front()+a.back();
- ans=1LL*a.front()*a.back();
- for(int i=1;i
2;i++){ - if(a[i]+a[n-1-i]!=s) return -1;
- ans+=1LL*a[i]*a[n-1-i];
- }
- return ans;
- }
- };
时间复杂度:O(n)
空间复杂度:O(n)