class Solution {
public:
int partitionArray(vector<int> &nums, int k) {
// write your code here
if (nums.size() == 0) {
return 0;
}
int left = 0;
int right = nums.size() - 1;
while (left < right) {
while (left < right && nums[left] < k) {
left++;
}
while (left < right && nums[right] >= k) {
right--;
}
if (left < right) {
int tmp = nums[left];
nums[left] = nums[right];
nums[right] = tmp;
left++;
right--;
}
}
if (nums[left] < k) {
return left + 1;
}
return left;
}
};