求最大连续bit数
题目描述
功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1
输入: 一个byte型的数字
输出: 无
返回: 对应的二进制数字中1的最大连续数
输入描述:
输入一个byte数字
输出描述:
输出转成二进制之后连续1的个数
输入例子:
3
输出例子:
2
1 import java.util.*; 2 3 public class Main{ 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 while (sc.hasNext()) { 7 int n = sc.nextInt(); 8 String s = Integer.toBinaryString(n); 9 int j = 0,max = 0; 10 for(int i = 0;i < s.length();i++){ 11 if(s.charAt(i) == '1') 12 j = i + 1; 13 while (j < s.length() && s.charAt(j)=='1'){ 14 j++;// i到j-1为数字 15 } 16 if (j - i > max) 17 max = j - i; 18 } 19 System.out.println(max); 20 } 21 } 22 }
找到了一种 计算字符串中最长某串的方法
浙公网安备 33010602011771号