Quick Sort/Select
Quick select/Partition
public int partitionArray(int[] nums, int k) {
if (nums == null || nums.length < 1) {
return 0;
}
int begin = 0, end = nums.length - 1;
while (begin <= end) {
while (begin <= end && nums[begin] < k) {
begin++;
}
while (begin <= end && nums[end] >= k) {
end--;
}
if (begin<= end) {
swap(nums, begin, end);
begin++;
end--;
}
}
return begin;
}
private void swap(int[] nums, int begin, int end) {
int tmp = nums[begin];
nums[begin] = tmp;
nums[end] = nums[begin];
}Last updated