华为机试 HJ86 题解 | #求最大连续bit数#
求最大连续bit数
https://www.nowcoder.com/practice/4b1658fd8ffb4217bc3b7e85a38cfaf2
#include <iostream>
#include <bitset>
#include <string>
using namespace std;
int main() {
int n;
while (cin >> n) { // 注意 while 处理多个 case
bitset<32> b1(n);
int maxCount = 0;
int pre = 0;
int count = 0;
for (int i = 0; i < b1.size(); i++) {
if (b1.test(i)) {
pre = i;
count = 1;
}
for (int cur = pre+1; cur < b1.size(); cur++) {
if (b1.test(cur)) {
count++;
} else {
maxCount = count > maxCount ? count : maxCount;
break;
}
}
}
cout << maxCount << endl;
}
}
顺丰集团工作强度 379人发布