详细讲解见《算法导论》8.2节——计数排序。
Java代码如下:
package linetimesort;
/**
* 计数排序假设n个输入元素中的每一个都是介于0到k之间的某个整数,k为某个整数;它
* 通过确定小于等于一个数的数的个数来确定这个数应该放在哪个位置
* @author yuncong
*
*/...
分类:
编程语言 时间:
2015-05-19 22:49:45
阅读次数:
176
问题:
再插入数字时,没有中断循环,导致从输入数处再次循环,如下错误结果:
3 3
1 2 4
1 2 3 3
4 3
1 2 4 5
1 2 3 3 4
当循环完成后记得中断;
数列有序!
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Tot...
分类:
编程语言 时间:
2015-05-18 14:51:15
阅读次数:
227
问题:
此题主要是一个递推算法,审题要仔细,小母牛是自它被生下开始第四年开始产子,递归公式为n=a(n-1)+(n-3).
之前看过别人的算法用了大数,其实没必要,在范围内int就可以装下。
母牛的故事
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Tot...
分类:
编程语言 时间:
2015-05-18 13:02:49
阅读次数:
326
&与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0例如下面的程序段。public class data13{public static void main(String[] args){int a=129;int b=128;System.out.pr...
分类:
编程语言 时间:
2015-05-16 20:27:28
阅读次数:
118
>>右移 右移,道在二进制中,假设用一个32位的Int表示一个64,那么高位就都是0,所以当我们把整个二进制数右移,如0100000 >> 2 = 0001000,可以看到右移两位后的数变成了8,可以分析出其实右移就是一个除以2的操作例:对于非2,4,8,16,64的数也可以试验一下:System....
分类:
编程语言 时间:
2015-05-16 20:19:09
阅读次数:
179
^按位异或如果操作的两位数是相同的,比如都是1或者都是0,则结果为0,否则为1.如public class data16{public static void main(String[] args){int a=15;int b=2;System.out.println("a 与 b 异或的结果是:...
分类:
编程语言 时间:
2015-05-16 20:17:26
阅读次数:
138
|或运算符或运算符用符号“|”表示,其运算规律如下:两个位只要有一个为1,那么结果就是1,否则就为0下面看一个简单的例子。public class data14{public static void main(String[] args){int a=129;int b=128;System.out...
分类:
编程语言 时间:
2015-05-16 20:12:10
阅读次数:
142
~取反非运算符用符号“~”表示,其运算规律如下:如果位为0,结果是1,如果位为1,结果是0下面看一个简单例子。public class data15{public static void main(String[] args){int a=2;System.out.println("a 非的结果是:...
分类:
编程语言 时间:
2015-05-16 20:06:48
阅读次数:
117
一个能将给定非负整数数组中的数字排列成最大数字的函数...
分类:
编程语言 时间:
2015-05-15 09:09:39
阅读次数:
164
对输入的字符串,分别统计字符串内英文字母,空格,数字和其它字符的个数。...
分类:
其他好文 时间:
2015-05-14 18:43:02
阅读次数:
135