1 class Solution {
2 public:
3 vector<int> recoverArray(vector<int>& nums) {
4 multiset<int>s;
5 int n=nums.size();
6 sort(nums.begin(),nums.end());
7 for(int i=0;i)
8 {
9 int k=nums[i]-nums[0];//k要为偶数
10 if(!k)continue;
11 if(k&1)continue;
12 vector<int>ans;
13 multiset<int> ts(nums.begin(), nums.end());
14 while(ts.size())
15 {
16 int p=*ts.begin();
17 if(ts.find(p+k)!=ts.end())
18 {
19 auto pos=ts.find(p+k);
20 ans.push_back(p+k/2);
21 ts.erase(ts.begin());
22 ts.erase(pos);
23 }
24 else break;
25 }
26 if(!ts.size())return ans;
27 }
28 return {};
29 }
30 };