classSolution { public: intminMoves2(vector<int>& nums){ sort(nums.begin(), nums.end()); int n = nums.size(); int x; int res = 0; if(n % 2) { // 奇数 x = nums[n / 2]; } else{ int r = nums[n / 2]; int l = nums[n / 2 - 1]; x = (r + l) / 2; } for(int i = 0; i < n; i++){ res += abs(nums[i] - x); } return res; } };
时间复杂度:O(n \ logn),其中 n 是数组中元素的个数,排序时间复杂度是O(n * logn),计算时间复杂度是O(n),所以总的时间复杂度是O(n * logn)*