注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
我在看别人代码 或者在自己刷题时候,总是会转牛角尖。导致效率很慢。而且我感觉有时候这些<或者<= 不是很有意义。 请问你们在刷题时候会这样子吗?我应该怎么做?
比如说快速排序,
- public staticc void quicksort(int[] array){
- quicksort(array,0,array.length-1);
- }
- public static void quicksort(int[] array, int left, int right){
- if(left>=right) // >=? 为什么不是》
- return;
- int pivot = array[(left+right)/2];
- int index = partition(array,left,right,pivot);
- quicksort(array,left,index-1);
- quicksort(array,index,right);
- }
- public static int partition(int[] array, int left, int right, int pivot){
- while(left<=right){ //《= 为什么不是《
- while(array[left]<pivot){ // <? 为什么不是小于等于?
- left++;
- }
- while(array[right]>pivot){
- right++;
- }
- if(left<=right){
- swap (array,lefy,right);
- left++;
- right--;
- }
- }
- return left;
- }
复制代码 |