fill(nums.start()+?, nums.end(), 0)
nums.insert(nums.begin()+?, 0)
快速排序
判断left 和 right大小使用<=, pivot 使用小于
class Solution {
public:
vector<int> sortArray(vector<int>& nums) {
helper(nums, 0, nums.size()-1);
return nums;
}
void helper(vector <int> & nums, int start, int end){
if (start >= end){
return;
}
int left = start, right = end ;
int pivot = nums[int((left + right)/2)];
while (left <= right){
while(left <= right && nums[left] < pivot){
left += 1;
}
while(left <= right && nums[right] > pivot ){
right -= 1;
}
if (left <= right){
int temp = nums[left];
nums[left] = nums[right];
nums[right] = temp;
left ++;
right --;
}
}
helper(nums, start, right);
helper(nums, left, end);
}
};