Natural Greedy. Sort the array and pick the medium as target. classSolution {public:intminMoves2(vector<int>&nums) {intn =nums.size();if(n ==1)return0; sort(nums.begin(), nums.end());intmid = nums[n/2];intret =0;for(auto v : nums) ret += abs(v -mid);returnret; } };
One pass in-place solution: all swaps. classSolution {public:/** * @param nums: a vector of integers * @return: nothing*/voidpartitionArray(vector<int> &nums) { size_t len=nums.size();inti =0, io =0, ie = len -1;while(io <ie) {intv =nums[i];if(v &0x1)//odd{ swap(...
string =str(x) if string[0] =='-': returnint('-'+string[:0:-1]) else: returnint(string[::-1]) print(solution(-231)) print(solution(345)) 这是一个用于练习切片技能的热身训练。唯一灵活的地方在于需要考虑输入整数为负的情况。这类问题有许多不同的表现形式,但这个问题常常是更加复杂的要求...