```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; int minOperations(vector<int>& nums) { int n = nums.size(); int opCount = 0; // 先对数组进行排序,方便后续操作 sort(nums.begin(), nums.end()); int i = 0; while (i < n) { int j = i; // 找到连续相同的数字段 while (j < n && nums[j] == nums[i]) { j++; } // 如果相同数字段长度大于 1 if (j - i > 1) { opCount++; } i = j; } return opCount; } int main() { int T; cin >> T; while (T--) { int n; cin >> n; vector<int> nums(n); for (int i = 0; i < n; i++) { cin >> nums[i]; } cout << minOperations(nums) << endl; } return 0; } // 1. 注意输入数据的范围,避免越界。 // 2. 排序操作的时间复杂度为 O(nlogn),要考虑对整体性能的影响。 // 3. 循环中的边界条件要仔细检查,确保逻辑正确。 ``` [2024-12-21 16:26:29 | AI写代码神器 | 331点数解答]