Binary Gap
找一个int中两个1之间最大的距离. 先把int变成string, 然后找每个1的gap, 然后取最大.
找一个int中两个1之间最大的距离. 先把int变成string, 然后找每个1的gap, 然后取最大.
给个整数, 数一. 因为是Integer,所以一共32位. 1 << i 就是每个位上的1.
public String addBinary(String a, String b) { // int carry=0; // String result=””; // int i=0; // int alen=a.length(); // int blen=b.length(); // while(i<alen||i<blen||carry!=0){ // int x=(i<alen)?((a.charAt(alen-1-i)==’1′)?1:0):0; // int y=(i<blen)?((b.charAt(blen-1-i)==’1′)?1:0):0; // result=(x+y+carry)%2+result; // carry=(x+y+carry)/2; // i++; int carry = 0; String res = “”; int i = 0; int aLen = a.length(); int bLen = […]
public int countOnes(int num) { // write your code here int res = 0; for(int i = 0 ; i < 32; i++) { if((num & (1<<i)) != 0) res++; } return res; }