排序

sorting, quicksort, mergesort,

1. 题目

给定一个数组,请你编写一个函数,返回该数组排序后的形式。示例1

输入

复制

[5,2,3,1,4]

返回值

复制

[1,2,3,4,5]

示例2

输入

复制

[5,1,6,2,5]

返回值

复制

2. 思路

  1. merge sort

  2. Time O(nlogn) , O(n) for merging in each level, O(logn) for iterating the whole tree. so O(nlogn)

  3. Space O(n), 我们要在每一个层把sorted 好的element存起来,然后再去另外一个分支进行divide,最坏情况就是把所有的node的value存起来 O(n),然后再加上recursion的层数的space O(logn),所有O(n) +O(logn) = O(n)

Last updated

Was this helpful?