class Solution {
public int divide(int a, int b){
if(a == Integer.MIN_VALUE && b == -1){return Integer.MAX_VALUE;}
boolean flag =false;if((a>0&& b >0)||(a <0&& b <0)){
flag =true;}
if(a >0){
a = -a;}
if(b >0){
b = -b;}
int res =0;
while(a <= b){
a = a - b;
res++;}return flag ==true ? res : -res;}}
class Solution {
public String addBinary(String a, String b){
StringBuffer ans = new StringBuffer();
int n = Math.max(a.length(), b.length()), carry =0;for(int i =0; i < n; ++i){
carry += i < a.length() ? (a.charAt(a.length() - 1 - i) - '0'):0;
carry += i < b.length() ? (b.charAt(b.length() - 1 - i) - '0'):0;
ans.append((char)(carry %2+ '0'));
carry /=2;}if(carry >0){
ans.append('1');}
ans.reverse();return ans.toString();}}
class Solution {
public int[] countBits(int n){
int[] arr = new int[n+1];
for(int i =0; i <= n; i++){
int mid = i;
int j =0;
while(mid >0){
if((mid &1)==1){
j++;}
mid = mid >>1;}
arr[i]= j;}return arr;}}
class Solution { public int divide(int a, int b) { if(a == Integer.MIN_VALUE && b == -1){ return Integer.MAX_VALUE; } boolean flag = false; if((a>0 && b > 0) || (a < 0 && b &.