自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (1)
  • 收藏
  • 关注

原创 求数的二进制表示中的1的个数

三种方法 int numberOf1(int n){ int count=0; while(n){ if(n&1) count++; n=n>>1; } return count; }//第一种 int NumerOf1(int n){ int count=0; unsiged int flag=1; while(flag){ if(n&flag){ count++;

2017-05-16 12:04:56 213

原创 求出有序数组旋转后的最小值

思路:比如123456旋转之后为456123 那么第一个数字肯定大于或者等于最后一个数字,设置两个指针index1和index2,分别指向第一个数和最后一个数,然后求出中间的数,如果中间的数大于第一个数,说明最小的在中间的后面,将index1指向中间的数,否则将index2指向中间的数,缩小查找范围,当Index2在index1后面,就是index2-index1=1的时候,最小的数字就是Inde

2017-05-16 10:53:48 316

原创 不用“+”号实现两个数的相加

可以使用位操作实现: 第一步:若将两个二进制数加一起,但忘记进位,只要a和b的第i位相同,总和的第i位就是0,相当于异或操作; 第二部:若将两个数加在一起,但只进位,只要a和b的i-1位皆为1,总和的第i位就为1,实质上是and加上移位操作; 第三步:递归执行前两步,直到没有进位为止; public static int add(int a,int b){ if(b==0) retur

2017-05-09 10:14:02 697

原创 有个排序后的字符串数组,其中散步着一些空字符串,找出给定字符串的位置

public int searchR(String[] strings,String str,int first,int last){ if(first>last) return -1; int mid=(first+last)/2; if(strings[mid].isEmpty()){ int left=mid-1; int right=mid+1; while(true){ i

2017-05-03 14:41:56 327

原创 给定两个32位的整数n和m,将m插进n的j到i的位置,n其他位置不变

int updateBits(int n,int m,int i,int j){ int allones=~0;//等同于一连串的1 int left=allones int right=((1 //在位置i之后的位置都为1 int mask=left|right;//除i到j的位置为0,其余均为1 int n_cleared=n&mask;//清楚位置j到i的位置 int m_sh

2017-05-01 11:20:10 544

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除