位运算
位运算
爱敲代码的Harrison
种一棵树最好的时间是十年前,其次是现在。
展开
-
一个数的二进制形式中有多少个1
package com.harrison.Class01;public class Code09_BitOneCounts { public static int bit1Counts(int n) { int count=0; while(n!=0) { int rightOne=n&((~n)+1); count++; n^=rightOne; } return count; } public static void main(String[] a原创 2021-11-22 19:03:20 · 244 阅读 · 0 评论 -
一个数组中有两种数出现了奇数次,其它数都出现了偶数次,怎么找到并打印这两种数
一个数组中有两种数出现了奇数次,其它数都出现了偶数次,怎么找到并打印这两种数package com.harrison.Class01;public class Code08_TwoNumOddTimes { public static void printOddTimesNum(int[] arr) { int eor=0; for(int i=0; i<arr.length; i++) { eor^=arr[i]; } //eor==a^b && eor原创 2021-11-22 18:48:43 · 303 阅读 · 3 评论 -
一个数组中有一种数出现了奇数次,其他数都出现了偶数次,怎么找到并打印这种数
一个数组中有一种数出现了奇数次,其他数都出现了偶数次,怎么找到并打印这种数package com.harrison.Class01;public class Code07_OneNumOddTimes { public static void printOddTimesNum(int[] arr) { int eor=0; for(int i=0; i<arr.length; i++) { eor^=arr[i]; } System.out.println(eor);原创 2021-11-22 17:14:57 · 539 阅读 · 0 评论 -
位图与位运算
之前写过的跟位运算有关的文章如下,位运算还是蛮重要的,因为计算机底层都是0、1信号,所以肯定离不开位运算什么是位图?位图就是拿每一位比特来做图。具体来说,位图可以做出一个集合,如果数字的范围是确定的(最大值是确定的),那我们就可以用位图来实现收集数字,并且告诉我们数字存在还是不存在的功能。能够极大的压缩空间位运算用位运算实现加减乘除(+ - * /)力扣链接:两数相除......原创 2022-06-19 09:41:27 · 225 阅读 · 0 评论