归并排序之C++实现
介绍
之前介绍过快速排序,相比起快排,归并排序是stable的。所谓的stable,是指算法的实现保持了相同的元素之间的顺序(the implementation preserves the input order of equal elements in the sorted order)。它采用了分治的思路。从时间复杂度来看,快排平均复杂度是$O(nlogn)$,最坏情况下是$O(n^2)$;归并排序的时间复杂度总是$O(nlogn)$,这是他的优势所在。
翻转字符串
快速排序之C++实现
找到喜好值为k的用户个数
数列极差问题
题目内容
题目OJ地址:http://acm.hit.edu.cn/problemset/1062
在黑板上写N个正整数组成的一个数列,进行如下操作:每次擦去其中的两个数$a$和$b$,然后在数列中加入$a \times b + 1$,如此下去直至黑板上剩下一个数字,在所有按这种操作方式最后得到的数中,最大的为max
,最小的为min
,则该数列的极差定义为M = max - min
。请编程计算出给定数列的极差。