You are given an integer array nums and an integer k.
In one operation, you can pick two numbers from the array whose sum equals k and remove them from the array.
Return the maximum number of operations you can perform on the array.
정수 배열 nums
와 정수 k
가 제공됩니다.
한 연산으로, 배열에서 두 숫자의 합이 k
가 되는 수를 선택하고 배열에서 제거합니다.
배열에서 수행할 수 있는 최대 연산 수를 반환합니다.
Input: nums = [1,2,3,4], k = 5
Output: 2
해설: 다음 nums
로 시작 = [1,2,3,4]:
Input: nums = [3,1,3,4,3], k = 6
Output: 1
Explanation: Starting with nums = [3,1,3,4,3]:
import java.util.Arrays;
class Solution {
public int maxOperations(int[] nums, int k) {
int count = 0;
int n = nums.length;
Arrays.sort(nums);
int i = 0;
int j = n - 1;
while (i < j) {
if (nums[i] + nums[j] == k) {
i++;
j--;
count++;
} else if (nums[i] + nums[j] < k) {
i++;
} else {
j--;
}
}
return count;
}
}