![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
涛涛酱
北邮研究僧在读
展开
-
【排序算法实现】快速排序、归并排序和堆排序
快速排序int partition_(vector<int>& nums, int left, int right) { int key = nums[left]; int st = left, ed = right; while(st < ed) { while(nums[ed] > key) ed--; if (st < ed) swap(nums[st++], nums[ed]); whil原创 2020-07-12 21:47:25 · 290 阅读 · 0 评论 -
【LeetCode 179】 Largest Number
题目描述Given a list of non negative integers, arrange them such that they form the largest number.Example 1:Input: [10,2]Output: "210"Example 2:Input: [3,30,34,5,9]Output: "9534330"Note: The re...原创 2020-02-08 12:07:21 · 87 阅读 · 0 评论 -
【剑指 offer】把数组排成最小的数
题目描述:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路:定义排序方法,str1+str2 > str2 + str1,则str1 > str2。代码:class Solution {public: string to_string(...原创 2019-04-11 11:06:07 · 82 阅读 · 0 评论 -
【剑指 offer】数组中的逆序对
题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007。题目保证输入的数组中没有的相同的数字。数据范围:对于%50的数据,size<=10^4;对于%75的数据,size<=10^5;对于%100的数据,size<...原创 2019-04-09 14:24:35 · 197 阅读 · 0 评论 -
【LeetCode 215】Kth Largest Element in an Array
题目描述:求数组中第k大的数。思路:快排思想。使用kuai分治每次将数组划分为两段,并且返回划分点的位置,如果这个位置恰好是我们要的第k大的数,那么返回这个数即可。如果返回的位置小于要找的位置,则向右边的一半数组继续寻找。如果返回的位置大于要找的位置,则向左边寻找。代码:class Solution {public: int partition(vector<int&...原创 2019-05-22 21:29:09 · 62 阅读 · 0 评论