首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

怎么取得数列中不相同的值

2012-06-17 
如何取得数列中不相同的值例如在数列1、1、2、3、3、4、5、6、6、7、7、8、9中取出不相同的值,输出结果为1、2、3、4、5、6、7

如何取得数列中不相同的值
例如在数列1、1、2、3、3、4、5、6、6、7、7、8、9中取出不相同的值,输出结果为1、2、3、4、5、6、7、8、9。求解答!

[解决办法]
看来楼主问的不是算法,是C#的问题。framework里有现成的方法可以用:

C# code
int[] numbers = new[] { 1, 1, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 9 };int[] result = numbers.Distinct().ToArray();
[解决办法]
数列a[i],设数组a大小为MAX;
设数组b[j]全为0;
for(i=0;i<MAX;i++)
 { 
j=a[i];
if(0==b[j])
{
b[j]=1;
printf("%d ",a[i]);
}
}
[解决办法]
这个复杂度可以做到O(N)
用位运算,异或运算。
顺次异或,结果为上个数字的,就是重复的。

位运算,最快了

热点排行