华为OJ平台——求最大连续bit数
题目描述:
求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1
输入:
一个byte型的数字
输出:
对应的二进制数字中1的最大连续数
思路:
通过移位运算可以一次判断每一位的0、1值,然后通过统计可以得到结果
import java.util.Scanner; //byte 的范围是-128~127
public class MaxContinueOne { public static void main(String[] args) {
//读入byte类型的整数
Scanner cin = new Scanner(System.in) ;
byte num = cin.nextByte() ;
cin.close() ; int max = 0 ; //记录最大的连续bit位数
int count = 0 ; //临时记录当前的连续bit位数
int temp = 1 ;
boolean lastFlag = false ; //记录上一个比特位为0(false)还是1
//byte类型共8位,所以执行8次就可以了
for(int i = 0 ; i < 8 ; i++){
//temp & num 不为0表示当前位为1
if((temp & num) != 0){
if(lastFlag){
count++ ;
}else{
count = 1 ;
lastFlag = true ;
}
//将最大的连续bit位数记为max
max = max > count ? max : count ;
}else{
lastFlag = false ;
}
//将temp左移一位,进入下一位的比较准备
temp = temp << 1 ;
} System.out.println(max) ; } }
华为OJ平台——求最大连续bit数的更多相关文章
- java笔试之求最大连续bit数
功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 输入: 一个byte型的数字 输出: 无 返回: 对应的二进制数字中1 ...
- 华为OJ平台——字符串分隔
题目描述: 连续输入字符串,请按长度为8拆分每个字符创 后输出到新的字符串数组: 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理 输入 连续输入字符串(输入两次,每个字符长长度小于100)输 ...
- 华为OJ平台——矩阵乘法
题目描述: 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C. 输入: 1.第一个矩阵的行数 2.第一个矩阵的列数(也是第二个矩阵的行数) 3.第二个矩阵 ...
- 华为OJ平台——输出最小的k个数
输入n个整数,输出其中最小的k个. 详细描述: 接口说明 原型: bool GetMinK(unsignedint uiInputNum, int *pInputArray, unsignedint ...
- 华为OJ平台——完美数
import java.util.Scanner; /** * * 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数. * 它所有的真因子(即除了自身以外的约数)的和(即 ...
- 【华为OJ平台练习题】求最大公共子串的个数和元素
1.原题是求出最大公共子串的个数就可以 原理:利用二维矩阵排列的方式.将俩字符串进行比較 #include <iostream> #include <vector> using ...
- 求最大连续bit数
描述 功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 输入: 一个byte型的数字 输出: 无 返回: 对应的二进制数 ...
- 华为OJ平台——杨辉三角的变形
import java.util.Scanner; /** * 杨辉三角的变形 *第一行为1,后面每一行的一个数是其左上角到右上角的数的和,没有的记为0 * 1 * 1 1 1 * 1 2 3 2 1 ...
- 华为oj之求int型正整数在内存中存储时1的个数
题目: 求int型正整数在内存中存储时1的个数 热度指数:4427 时间限制:1秒 空间限制:32768K 题目描述 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数. 输入描述: ...
随机推荐
- [运维-服务器 – 1A] – nginx.conf(转)
#定义Nginx运行的用户和用户组user www www; #nginx进程数,建议设置为等于CPU总核心数.worker_processes 8; #全局错误日志定义类型,[ debug | in ...
- sudo gem install cocoapods
在使用IOS_BaiduSDK的时候,需要用到cocoapods,所以就需要按照步骤继续着.但是在过程中会遇到一些问题: 1. sudo gem install cocoapods 运行这个报错 Ru ...
- Linux使用笔记: 定制core dump文件的文件名
在开发过程中,当一个Linux程序异常退出时,我们可以通过core文件来分析它异常的详细原因.缺省情况下,Linux在程序异常时不产生core文件,要想让程序异常退出时产生core dump文件,需要 ...
- OC错误
- [复变函数]第10堂课 3.2 Cauchy 积分定理
0. 引言 (1) $\dps{\int_{|z-a|=\rho}\frac{1}{z-a}\rd z=2\pi i\neq 0}$: 有奇点 (在 $|z|>0$: 二连通区域内解析), 周线 ...
- java 编译中没有清除之前编译出来的文件。
最近在写一个类时候使用了内部类,然后又将这个类改用普通类来实现.但在运行时访问局部变量时候出现了NullPointException异常,想来想去没有想明白,后来清除了一个之前编译出来的文件*.cla ...
- 简单数据访问类,生成简单SQL,自动转换成java对象
import java.util.HashMap; import java.util.List; import java.util.Map; import org.slf4j.Logger; impo ...
- 使用gson-1.6.jar解析json
package com.example.mars_2900_json01; import java.io.StringReader; import java.lang.reflect.Type; im ...
- [Flex] as3xls读取excel,修改保存单表(二)
这个方法仅用了as3xls读取excel的功能,修改保存独立出来了. <?xml version="1.0" encoding="utf-8"?> ...
- 虚拟机与CentOS的安装设置。
点击下一步: 点击稍后安装操作系统. 选择Linux系统,继续下一步 为了方便以后查找文件我们在这把虚拟机的名称改成自己喜欢的, 位置也是在大点的磁盘重新建一个专门存放的文件夹,做到规范. 在这推荐N ...