题目:
题解:
- 对2求余,转化为二进制
- 在转化过程中当遇到1时开始记录count,反之记录count最大值
public int getMaxLengthBit(int number) {
int result = 0, count = 0;
while (number != 0) {
int mod = number % 2;
if (mod == 1) {
count++;
} else {
result = Math.max(result, count);
count = 0;
}
number /= 2;
}
result = Math.max(result, count);
return result;
}
时间复杂度:O()