算法教学

 1 package two24;
 2 
 3 public class Demo {
 4     public static void main(String[] args) {
 5 //        System.out.println(new Solution12().intToRoman(12));
 6 //简单的亦或操作交换两者的值
 7         
 8         int a=10;
 9         int b=12;
10         a=a^b;
11         b=a^b;
12         a=a ^ b;
13         System.out.println(a);
14         System.out.println(b);
15     }
16 }

简便的交换方法,不占用多余的空间

通过上面的代码我们可以将此类运算放到数组内去使用

但要求是在同一个数组中不可以出现两个相同位置的元素进行交换

即i与j不可以相等,不然会抹除变为0

原理:1^1=0 0^0=0 1^0=1

在java里面数组内的值初始为0

 

 这样咱们就可以得到那个出现奇数次数的数(唯一一个)

 

posted @ 2022-03-01 22:16  湖南陈冠希  阅读(45)  评论(0)    收藏  举报