This is a perfectly logical question.
To Answer this question you have to understand the what partition do?
In Quick Sort, in each iteration we select an element (which is called as pivot), and we traverse the complete array and put all the element which are smaller than pivot in left side of array and all the element which is larger than or equal to pivot (If they array have duplicate data), put that in right side or array. Hence in each iteration we are trying to fix the location of a element in sorted array.
Now the given sequence is
2, 1, 4, 5, 9, 7, 8, 10
An element can be a pivot if all the value in its left is less than that value and all the value in its right is greater or equal to that value.
10 ==> Pivot ==> All the value in left is less than 10.
8 ==> Not Pivot ==> 9 is in the left side and greater than 8
7 ==> Not Pivot ==> 9 is in the left side and greater than 7
9 ==> Not Pivot ==> 7 and 8 are in the right side and less than the 9
5 ==> Pivot ==> all the value in its left is less than and all the value in its right is greater than 5
4 ==> Pivot ==> all the value in its left is less than and all the value in its right is greater than 4
Similarly you see that 1(Not Pivot) and 2(Not pivot).
Hence total number of Pivot possible is 3, Hence the answer.