- 博客(7)
- 收藏
- 关注
原创 一个数组中有一种数出现了K次,其他数都出现了M次,且 M>1,K<M 。找到出现了K次的数,要求额外空间复杂度O(1),时间复杂度O(N)
public static void main(String[] args) { //一个数组中有一种数出现了K次,其他数都出现了M次,且 M>1,K<M 。找到出现了K次的数,要求额外空间复杂度O(1),时间复杂度O(N) //k = 2 ,M = 4 int[] arr = new int[]{111, 200, 30000001, 4, 111, 200, 30000001, 4, 111, 200, 30000001, 4, 11...
2021-11-03 21:10:17
444
原创 一个数组中有两种数出现了奇数次,其他的数都出现了偶数次,怎么找到并打印这两个数。
int[] arr = new int[]{7, 8, 9, 11, 11, 11, 11, 7, 8, 7};int eor = 0;for (int i : arr) { eor ^= i;}//假设所求两数为a,b 此时 eor = a^b;//求eor二级制最右侧1int right = eor & (-eor);//遍历数组,找出数组中最右侧1与right相同的数,取这批数做异或操作int a = 0;for (int i : arr) { if ((r.
2021-11-03 19:39:08
652
原创 怎么把一个int类型的数,提取出其二进制最右侧的1来
int a = 18;int b = a & (-a);System.out.println(b);
2021-11-03 19:17:29
281
原创 找出一个数组中出现了奇数次的数
有一个数组 里面有两种数:其中一个数出现了奇数次,其他数都出现了偶数次,如何找到这个出现了奇数次的数。异或运算int[] arr =new int[]{1,1,1,2,2,3,3,4,4};int eor =0;for(int cur : arr){ eor ^= cur;}return eor;异或运算规律a = 17;a^a = 0;0^a = 17;...
2021-11-03 14:43:40
395
原创 Spring AOP 顺序
1.spring4 aop 顺序正常 环绕前-前置-方法本身-环绕后-后置-返回异常 环绕前-前置-方法(出现异常)-后置-异常通知2.spring5 aop 顺序正常 环绕前-前置-方法本身-返回后通知-后置-环绕后异常 环绕前-前置-方法(出现异常)-异常通知-后置通知...
2021-11-02 20:46:02
237
原创 Java交换两个数
方法一、临时变量int a = 17;int b = 22;int temp = a;a = b;b = temp;方法二、异或运算int a = 17;int b = 22;a = a^b;b = a^b;a = a^b;
2021-11-02 20:44:04
92
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅