在高手那里学到一招~很巧妙~
计数排序
建立一个int c [1 000 000]的数组,初始值当然都是0
由于只有一个数字出现了两次,将这个数值做为新数组的下标(c[old[i]],将新数组的数值++,如果新数组的数值==2,很好,得到了这个数olds[i]。
原来的数组 int olds[]
新数组int new[] = new int [1 000 000]
for(intold : olds){
new[old] ++;
if(new[old]==2)
return old;
}
缺点:如果olds数组内的数值范围太大,new数组需要更多的空间
该算在原数组内数值范围较小时效率不错!
分享到:
相关推荐
数组应用——一维数组排序; 定义一组无序的整型数列,共10个数值,经过一定的处理,使该数组由大到小排列,并输出到屏幕上。具体要求如下: 定义int型数组arrayorder并赋初值为0,长度为10,以承载该数列; 使用...
这种类型的对象可以存储10个20~80之间的整数,即他的内部有一个整型数组存储数据。编程: (1) 判断两个inergerSet类对象S1和S2是否相等。提示:集合相等的前提是所有元素相等。 (2) 输出两个集合对象的交集。 ...
我们使用Python的random模块生成了两个随机数组,分别是1到36中随机选取的5个数和1到12中随机选取的2个数。然后,我们使用加号运算符将这两个数组组合成一个新的数组,并输出结果。 需要注意的是,我们使用了random...
要求给一个一维数组输入任意6个整数,假设是7,4,8,9,1,5,然后按下列方阵打印
给一维数组输入M个整数,假设M=6,数组元素分别为 7 4 8 9 1 5 给一维数组输入M个整数,假设M=6,数组元素分别为 7 4 8 9 1 5 , 要求建立一个如下数组(矩阵): 7 4 8 9 1 5 4 8 9 1 5 7 8 9 1 5 7 4 9 1 5 7 4 8 1...
设计并实现两数组的合并,并按从小到大的顺序排列。
给定一个数组,数组包含10个整型元素,将其按照从小到大的顺序排列后输出,要求排序的算法用子程序来实现。
数组a中已存有互不相同的10个整数从键盘输入一个整数,找出与该值相同的数组元素下标。 (如果没找到,输出“没找到”).c
C语言程序设计-从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出;请编写fun函数;.c
有1个包含N个整数的数组A,定义1个数组的美丽值为数组中所有不同整数的和。求数组A的所有连续子序列的美丽值之和。
又两个数组,在每一个数组中有若干个整型数据元素,求出组合到一起之后得到的值用数组保存并打印出来
基本算法quicksort来对int型arr进行从小到大的排序。。
数据结构教程(JAVA语言描述) 求一个含有n个整数元素的数组a[0..n-1]中的最大元素,有这样一种思路:先比较第一个元素,再比较第二个元素,比较过程向中间靠近
随意输入一个数组,然后在插入一个数,自动排序
c语言 利用字符数组实现两个大整数的加减法.exe
对一个含有N整数的数组,使用堆排序让其由小到大输出 样例输入 6 43 2 56 1 22 9 样例输出 1 2 9 22 43 56 堆排序 对一个含有N整数的数组,使用堆排序让其由小到大输出 样例输入 6 43 2 56 1 22 9 样例输出 1 2 9 ...
易语言整数到字节数组源码,整数到字节数组,十到十六,到十六进制文本
输入一个数是不是在这个数组中,数组的循环输出
5.6 编写程序,将一个包含有20个数据的数组M分成两个数组:正数数组P和负数数组N,并分别把这两个数组中的数据的个数显示出来。 5.7 试编制一个汇编语言程序,求出首地址为DATA的100D字数组中的最小偶数,并把它放在...