All kinds of partition:

public int partition(int[] nums, int start, int end){
    int pivot = nums[start];
    int left = start, right = end;
    while(left < right){
        while(left < right && nums[right] >= pivot){
            right--;
        }

        nums[left] = nums[right];

        while(left < right && nums[left] <= pivot){
            left++;
        }

        nums[right] = nums[left];
    }

    nums[left] = pivot;

    return left;
}

results matching ""

    No results matching ""