📜个人简介 |
⭐️个人主页:摸鱼の文酱博客主页🙋♂️
🍑博客领域:java编程基础,mysql
🍅写作风格:干货,干货,还是tmd的干货
🌸精选专栏:【Java】【mysql】 【算法刷题笔记】
🎯博主的码云gitee,平常博主写的程序代码都在里面。
🚀支持博主:点赞👍、收藏⭐、留言💬
🍭作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!
📃求最大连续bit数
🎯1.原题链接
🎯2.题目要求
求一个int类型数字对应的二进制数字中1的最大连续数
例如3
的二进制为00000011
,最大连续2个1
样例输入:200
样例输出:2
🎯3.基础框架
java版本的基础框架代码如下:
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
}
}
🎯4.解题思路
1.先把数字转化为二进制的表示
2.然后用数字0
做分割
3.比较被分割段的长度.
🎯5.完整代码
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()) {
int num = scanner.nextInt();
// 转二进制
String binaryStr = Integer.toBinaryString(num);
// 用0 分割
String[] strArray = binaryStr.split("0");
// 字符串长度
int result = 0;
for (int i = 0; i < strArray.length; i++) {
if (strArray[i].length() > result) {
result = strArray[i].length();
}
}
System.out.println(result);
}
}
}