There are no duplicate numbers. 题解:多用O(n)的空间实现Partition函数。不过感觉更清晰。 代码如下: 1importjava.util.*;2publicclassSolution {34staticintpartition(int[] ar,intstart,intend) {5ArrayList<Integer> smaller =newArrayList<Integer>();6ArrayList<Integer> bigger =newArrayList<Integer>();7in...
对于快速排序,直接在排序过程中统计交换次数就可以了,上述引自HackerRank的图很好的说明了快速排序中Partition的工作过程。 最终代码如下: 1importjava.util.*;23publicclassSolution {4privatestaticlonganswer = 0;5privatestaticlongswaps = 0;6privatestaticvoidswap(int[] ar,inti,intj){7swaps++;8inttemp =ar[...