排序
Jerry-Rulai
这个作者很懒,什么都没留下…
展开
-
快速排序QuickSort
#include <iostream> #include <exception> #include <random> #include <ctime> using namespace std; int RandomInRange(int start, int end) { if (start &原创 2019-02-12 11:58:57 · 108 阅读 · 0 评论 -
CVTE笔试:最大数
CVTE的笔试题一共两道,其中一道是leecode上的最大数,具体题目如下 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。 思路: 总体思路是排序,但是要注意比较的时候,要比较(string)a+b...原创 2019-03-04 13:10:02 · 117 阅读 · 0 评论 -
前k个小的元素
假如有一个数组(无序),让你找出里面前k个小的元素,设计一个算法 思路1: 快速排序的思想,找出第k位置的元素,在此元素左边都比他小,输出即可,时间复杂度为O(n) 思路2: 查找前k小,构建最大值堆,先将k个元素构建一个最大值堆,然后再遍历剩余元素,若剩余元素比堆顶小,让堆顶等于这个小的元素,再调整一下位置,这样遍历结束,前k个最小的元素都在堆中了。时间复杂度O(n) 下面将两个思路整合在一起了...原创 2019-03-15 13:29:26 · 277 阅读 · 0 评论 -
归并排序
归并排序: 1.划分 2.分治 3.合并 void Merge(int* data, int start, int mid, int end) { int* left_data = new int[mid - start + 1]; int* right_data = new int[end - mid]; int left_length = mid - start + 1; int ri...原创 2019-03-26 11:41:00 · 90 阅读 · 0 评论