Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用位运算符删除数组中的重复元素?_Java_Python_Arrays_Bit Manipulation_Xor - Fatal编程技术网

Java 如何使用位运算符删除数组中的重复元素?

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

我只是在想,也许我们可以用位运算符删除重复的数字。这可能吗?例如,使用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
  • 如果是同一个数字,则XOR将其置为零;这不是删除该数字,只是将其置为
    0
    (如果不允许为零,则可能有用,但仍然未删除该数字)
    示例:输入
    1
    1
    将导致数组中出现
    [1,0,…]
  • 如果XOR不是同一个数字,则它会生成一个(总数)不同的数字
    示例:输入
    1
    2
    将导致数组中出现
    [1,3,…]
  • 该算法仅将输入的值与数组的最后一个条目进行比较,而不与之前的任何条目进行测试
    示例:输入
    1
    2
    1
    将导致数组中出现
    [1,2,1,…]

  • 回答:这甚至是可能的,但我认为这既不容易实现也不容易理解

    为什么需要这样做?我只是好奇。