快排提交失败8组用例成功了6个,为什码

class Solution:
    def MySort(self , arr: List[int]) -> List[int]:
        # write code here
        self.quick_Sort(arr, 0, len(arr)-1)
        return arr
    def quick_Sort(self,arr,head,tail):
        if head>=tail:
            return arr
        pivot=arr[head]
        low=head
        high=tail
        while low!=high:
            while low<high and arr[high]>=pivot:
                high-=1
            arr[low]=arr[high]
            while low<high and arr[low]<=pivot:
                low+=1
            arr[high]=arr[low]
            
        arr[low]=pivot
        self.quick_Sort(arr, head, low-1)
        self.quick_Sort(arr, low+1, tail)
        
全部评论
噢噢噢
点赞
送花
回复
分享
发布于 2022-04-15 14:26
交换的那步有问题,Java版的贴一个给楼主参考一下 public class QuickSort { private void swap(int[] arr, int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } public void quickSort(int[] arr, int start, int end) { if (start >= end) return; int k = arr[start]; int i = start, j = end; while (i != j) { while (i < j && arr[j] >= k) --j; swap(arr, i, j); while (i < j && arr[i] <= k) ++i; swap(arr, i, j); } quickSort(arr, start, i - 1); quickSort(arr, i + 1, end); }
点赞
送花
回复
分享
发布于 2022-04-18 14:04
秋招专场
校招火热招聘中
官网直投

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务