快速排序如同其名,是排序中性能比较好的一个排序算法,当数组是顺序的话,他的最差的时间复杂度是O(N^2),一般的时间复杂度是O(n*lgn).
快速排序的思想就是分治,每一趟排序过程都把一个数放到最终的位置上面去。然后这个位置把数组分为前半部分和后半部分。针对前半部分和后半部分再递推进行快速排序。
快排的java实现:
public class Sort {
public stat...
分类:
其他好文 时间:
2014-05-23 01:44:26
阅读次数:
218
如果p1和p2(p1 p2)均为素数,且任意整数p(p1 p p2)都不是素数,则说素数p1与p2是相邻的,并定义它们之间的距离为d=
p2 - p1。给定正整数L和U,求出区间[L,
U]中距离最小的两个相邻素数C1与C2和距离最大的两个相邻素数D1与D2。
例如,L=2,U=17时,C1=2,C2=3,D1=7,D2=11。
import java.util.ArrayLis...
分类:
其他好文 时间:
2014-05-23 00:56:16
阅读次数:
250
初始时刻,只有一个“1”组成的字符串被存储到计算机中。在以后的每一个时刻,计算机会将当前字符串中的每一个“0”变为“10”,每一个“1”变为“01”。例如,在第一个时刻,字符串将变为“01”,在第二个时刻,字符串将变为“1001”,在第三个时刻,字符串将变为“01101001”。
你的任务是,求出在第n个时刻,字符串中有多少个连续的0对。例如,在第3个时刻,字符串中有1个连续的0对。
...
分类:
其他好文 时间:
2014-05-23 00:17:49
阅读次数:
266
100 可以表示为带分数的形式:100 = 3 + 69258 / 714
还可以表示为:100 = 82 + 3546 / 197
注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。
类似这样的带分数,100 有 11 种表示法。
题目要求:
从标准输入读入一个正整数N (N
程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。
注意:不要求输出每个表示...
分类:
其他好文 时间:
2014-05-22 11:57:01
阅读次数:
248
小明这些天一直在思考这样一个奇怪而有趣的问题:
在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:
如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。
当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。
输入格式:
第一行是一...
分类:
其他好文 时间:
2014-05-22 10:38:33
阅读次数:
253
跳马问题。在 5*5 格的棋盘上,有一个国家象棋的马,从(1,1)
点出发,按日字跳马,它可以朝 8 个方向跳,但不允许出界或跳到已跳过
的格子上,要求在跳遍整个棋盘后再条回出发点。
输出前 5 个方案及总方案数。
输出格式示例:
1 16 21 10 25
20 11 24 15 22
17 2 19 6 9
12 7...
分类:
其他好文 时间:
2014-05-18 16:03:52
阅读次数:
241
串“abcba”以字母“c”为中心左右对称;串“abba” 是另一种模式的左右对称。这两种情况我们都称这个串是镜像串。特别地,只含有1个字母的串,可以看成是第一种模式的镜像串。
一个串可以含有许多镜像子串。我们的目标是求一个串的最大镜像子串(最长的镜像子串),如果有多个最大镜像子串,对称中心靠左的优先选中。例如:“abcdeefghhgfeiieje444k444lmn”的最大镜像...
分类:
其他好文 时间:
2014-05-18 06:22:24
阅读次数:
169
某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:
每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。
每位选手都有一个起步的分数为10分。
某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?...
分类:
其他好文 时间:
2014-05-18 05:01:23
阅读次数:
359
import java.util.ArrayList;
import java.util.List;
class Test8Queens3 {
public static StringBuffer result = new StringBuffer();
public static List list = new ArrayList();
public static int...
分类:
其他好文 时间:
2014-05-16 02:53:39
阅读次数:
332
一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下:
1.首先按行填入密钥串。
2.紧接其后,按字母序按行填入不在密钥串中的字母。
3.由于方阵中只有25个位置,最后剩下的那个字母则不需变换。
如果密钥为youandme,则该方阵如下:
y o u a n
d...
分类:
其他好文 时间:
2014-05-16 01:23:39
阅读次数:
854