原则为较小的数优先和较大的数匹配,所以先排序。
class Solution {
public:
int maxOperations(vector<int>& nums, int k) {
sort(nums.begin(), nums.end());
int i = 0;
int j = nums.size()-1;
int res = 0;
while (i < j) {
int curr = nums[i] + nums[j];
if (curr == k) {
res += 1;
i++;
j--;
} else if (curr < k) {
i++;
} else if (curr > k) {
j--;
}
}
return res;
}
};