
位运算
蛋卷在月球烤面包
这个作者很懒,什么都没留下…
展开
-
剑指offer64 求1+2+3+...+n
思路:本题需要实现 “当n=1n=1时终止递归” 的需求,可通过短路效应实现。int res=0; public int sumNums(int n) { boolean sum=(n>1)&&sumNums(n-1)>0; res+=n; return res; }原创 2022-03-04 13:21:48 · 88 阅读 · 0 评论 -
剑指Offer56 数组中数字出现的次数
public int[] singleNumbers(int[] nums) { int m=0;//异或结果 for(int num:nums){ m^=num; } int n=1; while((n&m)==0){ n<<=1; } //将数组分成两组 int team1=0; int ...原创 2022-03-04 13:11:59 · 73 阅读 · 0 评论 -
剑指offer16 数值的整数次方
public double myPow(double x, int n) { long b=n; if(b<0){ x=1/x; b=-b; } double res=1.0; while(b>0){ if((b&1)==1){ res*=x; } x*...原创 2022-03-04 12:30:26 · 72 阅读 · 0 评论 -
剑指offer15 二进制中1的个数
public int hammingWeight(int n) { int res=0; while(n!=0){ n=n&(n-1); res++; } return res; }原创 2022-03-02 20:56:15 · 84 阅读 · 0 评论 -
剑指offer65 不用加减乘除做加法
public int add(int a, int b) { while(b!=0){ int c=(a&b)<<1;//计算进位 a^=b;//没有进位的和 b=c; } return a; }原创 2022-03-02 20:40:26 · 174 阅读 · 0 评论