面试算法题

1.求第k大的数?

 借助快排思想时间复杂度可以优化到O(n);
 快排就是把数组分为比key(某个值)大和比key小的两堆,然后在分治。key的下标为i;
 再求第k大的数时,我们可以把大值放到左边,在求出一个下标i后,如果i < K 就计算i左边的,如果i > k 就计算i右边的,直到i==k;

2.

全部评论

相关推荐

团子 行业运营 n*15.5
点赞 评论 收藏
转发
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务