1 /* 2 题目大意:给你一个序列,不断地将最后边的数值移动到最前边,问最少经过多少次可以变成一个单调递增的序列! 3 如果不能则输出-1。 4 如果该序列按照不断从后向前移动排序成功,那么该序列要么只有一个单调递增的序列, 5 或者有两段单调递增的序列(1..k 和 k+1..n)...
分类:
其他好文 时间:
2014-08-02 09:53:43
阅读次数:
162
First I implemented it by QuickSort, but got a TLE:class Solution {public: struct Pair { Pair(ListNode *pS, ListNode *pE) : pStart(pS), p...
分类:
其他好文 时间:
2014-08-02 05:04:32
阅读次数:
233
泛型编程与C++标准模板库:浅谈sort()排序函数...
分类:
编程语言 时间:
2014-08-02 01:54:12
阅读次数:
351
1 /* 2 思路: 3 找到单调下降串的起始位置[l, r] 4 如果左边 0...l-1中的最大值 > l...r中的最小值 或者 5 r+1...n中的最小值 8 #include 9 #include10 using namespace std;11 typed...
分类:
其他好文 时间:
2014-08-02 01:31:22
阅读次数:
261
这道题目有一个我觉得非常好的解法,即用三个变量i, j, k分别统计0出现次数,0,1出现次数,0,1,2出现次数,这样即可对A[]进行赋值。赋值顺序有讲究,即先赋2,再赋1,最后赋0,这样能够保证A[]对应位置填入正确的值。我觉得这种解法好的地方在于通用性强,因为对于有多于3个的数的这种排序,都能用类似办法很方便地进行解决,假如用普通的双指针来做,那将是特别麻烦的事情。下面贴上AC代码:
cl...
分类:
其他好文 时间:
2014-08-01 16:17:51
阅读次数:
191
归并排序Merging Sort,将两个或两个以上的有序表组合成一个新表。1.基本思想假设初始化系列含有n个记录,则可以看出n个有序的子序列,每一个子序列的长为1,然后两两归并,得到【n/2】个长度为1或2的子序列,再两两归并……如此重复,知道最后得到一个长度为n的有序序列位置,这种排序方法称为2-...
分类:
其他好文 时间:
2014-08-01 15:43:41
阅读次数:
208
C++ sort函数的用法STL有个排序函数sort,可以直接对数组和向量排序。一、功能:给定区间所有元素进行排序二、头文件: #include 三、sort函数的参数:可以传两个参数或三个参数。第一个参数:要排序的区间首地址,第二个参数:区间尾地址的下一地址。也就是说,排序的区间是[a,b)。例如...
分类:
编程语言 时间:
2014-08-01 15:18:51
阅读次数:
226
排序(sort):所有sort算法介绍:使用的迭代器(iterator)都需是随机迭代器(RadomAccessIterator)1. 所有函数名功能描述sort对给定区间所有元素进行排序stable_sort对给定区间所有元素进行稳定排序partial_sort对给定区间所有元素部分排序parti...
分类:
其他好文 时间:
2014-08-01 13:30:31
阅读次数:
303
标准c++库中提供六种排序方法:qsort(), sort(),stable_sort(), partial_sort(), list::sort(), set/multisetqsort()比sort()慢并且不能排序构造函数、虚函数,一般不推荐使用。写一个比较函数传递给qsort()很麻烦;后五...
分类:
其他好文 时间:
2014-08-01 12:58:11
阅读次数:
278
做贪心的时候遇到排序,小小的补习一下:如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件。这个函数可以传两个参数或三个参数。第一个参数是要排序...
分类:
其他好文 时间:
2014-08-01 12:51:31
阅读次数:
261