简单
技术面试0 次浏览在蚂蚁集团的支付业务中,经常需要对交易数据进行排序。请编写一个函数,使用快速排序算法对一个包含交易金额的整数数组进行升序排序。
蚂蚁集团算法工程师
快速排序算法交易数据处理
答题要点
本题推荐使用直接实现算法的答题框架。关键要点如下:1. 选择基准元素:从数组中选择一个元素作为基准,通常选择第一个或最后一个元素。2. 分区操作:将数组分为两部分,使得左边部分的元素都小于等于基准元素,右边部分的元素都大于基准元素。3. 递归排序:对左右两部分分别递归调用快速排序算法。4. 合并结果:将左右两部分排序好的结果合并。示例思路:定义一个快速排序函数,函数中先选择基准元素,然后进行分区操作,再递归调用函数对左右两部分进行排序,最后返回排序好的数组。例如: python def quick_sort(arr): if len(arr) <= 1: return arr pivot = arr[0] left = [x for x in arr[1:] if x <= pivot] right = [x for x in arr[1:] if x > pivot] return quick_sort(left) + [pivot] + quick_sort(right)