Java 如何使用位运算符删除数组中的重复元素?
我只是在想,也许我们可以用位运算符删除重复的数字。这可能吗?例如,使用XOR,如果我们有相同的数字,我们可以将其设为零Java 如何使用位运算符删除数组中的重复元素?,java,python,arrays,bit-manipulation,xor,Java,Python,Arrays,Bit Manipulation,Xor,我只是在想,也许我们可以用位运算符删除重复的数字。这可能吗?例如,使用XOR,如果我们有相同的数字,我们可以将其设为零 a[i]=number^scanner.nextInt() import java.util.*; 班长{ 公共静态void main(字符串[]args){ 扫描仪s=新的扫描仪(System.in); int n=6; int[]a=新的int[n]; System.out.println(“输入数组元素:”); a[0]=s.nextInt(); 对于(int i=1;i
a[i]=number^scanner.nextInt()
import java.util.*;
班长{
公共静态void main(字符串[]args){
扫描仪s=新的扫描仪(System.in);
int n=6;
int[]a=新的int[n];
System.out.println(“输入数组元素:”);
a[0]=s.nextInt();
对于(int i=1;i
如果是同一个数字,则XOR将其置为零;这不是删除该数字,只是将其置为0
(如果不允许为零,则可能有用,但仍然未删除该数字)
示例:输入1
,1
将导致数组中出现[1,0,…]
如果XOR不是同一个数字,则它会生成一个(总数)不同的数字
示例:输入1
和2
将导致数组中出现[1,3,…]
该算法仅将输入的值与数组的最后一个条目进行比较,而不与之前的任何条目进行测试
示例:输入1
,2
,1
将导致数组中出现[1,2,1,…]
回答:这甚至是可能的,但我认为这既不容易实现也不容易理解为什么需要这样做?我只是好奇。