如何取得数列中不相同的值
例如在数列1、1、2、3、3、4、5、6、6、7、7、8、9中取出不相同的值,输出结果为1、2、3、4、5、6、7、8、9。求解答!
[解决办法]
看来楼主问的不是算法,是C#的问题。framework里有现成的方法可以用:
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)
用位运算,异或运算。
顺次异或,结果为上个数字的,就是重复的。
位运算,最快了