精华内容
下载资源
问答
  • Integer能表示十进制多少位

    万次阅读 2018-09-27 11:21:03
    在32机器上,能表示的最大值是2^32 = 4 294 967 296。 111111111111超过了最大表示范围,所以会报错。   超过了Integer的存值范围,Integer存值的范围是 -2的31次方 到 2的31次方-1 的常量   I...

    Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。在32位机器上,能表示的最大值是2^32 = 4 294 967 296。
    111111111111超过了最大表示范围,所以会报错。

     

    超过了Integer的存值范围,Integer存值的范围是 -2的31次方 到 2的31次方-1 的常量

     

    Integer 是 int 的封装类。
    对于有符号数,在 32 位的机器上是 4 个字节,表示范围是 -2^31 = -2 147 483 648 到 2^31 = 2 147 483 641。
    对于无符号数,是 2^32 = 4 294 967 296,但是在 Java 中没有无符号数,所以不用考虑这种情况。
    不管怎么说,111 111 111 111 都已经超出了4个字节整数能表示的最大范围。

     

    最小值:Integer.MIN_VALUE=-2147483648 
    最大值:Integer.MAX_VALUE=2147483647
    111111111111 已经越界了

    展开全文
  • 给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。 如果没有两个连续的 1,返回 0 。 输入:22 输出:2 解释: 22 的二进制是 0b10110 。 在 22 的二进制表示中,有三个 1,组成两对连续...

    1. 解题

    给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。

    如果没有两个连续的 1,返回 0 。

    输入:22
    输出:2
    解释:
    22 的二进制是 0b10110 。
    在 22 的二进制表示中,有三个 1,组成两对连续的 1 。
    第一对连续的 1 中,两个 1 之间的距离为 2 。
    第二对连续的 1 中,两个 1 之间的距离为 1 。
    答案取两个距离之中最大的,也就是 2 。
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/binary-gap
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    

    2. 解题

    • 数字 N 和(1<<i)&操作,获取为1的二进制位,存在数组里
    • 遍历数组,求 maxA[i+1]A[i]max(A[i+1]-A[i])

    在这里插入图片描述

    class Solution {
    public:
        int binaryGap(int N) {
            int indexOfOne[32] = {0}, idx = 0;
            for (int i = 0; i < 32; ++i)
            {
            	if((N & (1<<i)) != 0)
            		indexOfOne[idx++] = i;
            }
            int maxGap = 0, curGap, prevOneIndex;
            for (int i = 0; i < 31; ++i)
            {
            	curGap = indexOfOne[i+1]-indexOfOne[i];
            	if(maxGap < curGap)
            		maxGap = curGap;
            }
            return maxGap;
        }
    };
    
    展开全文
  • #include <...//二进制数字连续数字1最长长度 int max_cur() { int n; cin >> n; int max = 0; while (n) { int count = 0; while ((n & 1) == 1) { count++; n...
    #include <iostream>
    using namespace std;
    
    //二进制数字连续数字1最长长度
    int max_cur()
    {
    	int n;
    	cin >> n;
    
    	int max = 0;
    
    	while (n)
    	{
    		int count = 0;
    		while ((n & 1) == 1)
    		{
    			count++;
    			n = n >> 1;
    		}
    		max = (count > max) ? count : max;
    		n = n >> 1;
    	}
    	return max;
    }
    
    int main()
    {
    	int M_b = max_cur();
    	cout << M_b << endl;
    
    	system("pause");
    	return 0;
    }
    
    
    展开全文
  • leetcode解题之485. Max Consecutive Ones Java版 (二进制连续最长1的个数)

    485. Max Consecutive Ones

    Given a binary array, find the maximum number of consecutive 1s in this array.

    Example 1:

    Input: [1,1,0,1,1,1]
    Output: 3
    Explanation: The first two digits or the last three digits are consecutive 1s.
        The maximum number of consecutive 1s is 3.
    

    Note:

    • The input array will only contain 0 and 1.
    • The length of input array is a positive integer and will not exceed 10,000

    public class Solution {
    	public int findMaxConsecutiveOnes(int[] nums) {
    		int result = 0;
    		int temp = 0;
    		for (int i = 0; i < nums.length; i++) {
    			if (nums[i] == 0)
    				temp = 0;
    			else {
    				temp += 1;
    				result = Math.max(temp, result);
    			}
    		}
    		return result;
    	}
    
    	// 动态规划
    	public int findMaxConsecutiveOnes(int[] nums) {
    		// 才用逆向思维,数组长度要加1
    		int dp[] = new int[nums.length + 1];
    		int max = 0;
    		for (int i = nums.length - 1; i >= 0; i--)
    			if (nums[i] == 1) {
    				dp[i] = dp[i + 1] + 1;
    				max = Math.max(dp[i], max);
    			}
    		return max;
    	}
    
    	// 动态规划
    	public int findMaxConsecutiveOnes(int[] nums) {
    		int dp[] = new int[nums.length];
    		int max = 0;
    		for (int i = 0; i < nums.length; i++)
    			if (nums[i] == 1) {
    				if (i == 0)
    					dp[i] = 1;
    				else
    					dp[i] = dp[i - 1] + 1;
    				max = Math.max(dp[i], max);
    			}
    		return max;
    	}
    }
    展开全文
  • 给定0和1的二进制矩阵。找到1的最长序列(按行或按列)。 例如: 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 它应该返回最高计数– 3。
  • 实现基础二进制模拟本人博客:最长公共子序列本人博客子序列判断参考博客:二进制暴力枚举筛选(最长)公共子序列代码实现:测试样例:后记 实现基础 二进制模拟 本人博客: 通过二进制串“01”模拟元素取舍进而...
  • 输出该数字二进制 1 的个数 按总共32进行计算 二、解题思路 没想法,这个解法完全没见过,就是前人总结的经验,正常人。。。我觉得正常人想不到。。。普通人写这个,一般需要循环多次,而这种算法,根本不需要循环...
  • Leetcode 二进制间距

    2019-05-11 09:40:06
    给定一个正整数N,找到并返回 N的二进制表示中两个连续的 1 之间的最长距离。 如果没有两个连续的 1,返回 0 。 示例 1: 输入:22 输出:2 解释: 22 的二进制是 0b10110 。 在 22 的二进制表示中,有三个 1...
  • 二进制间距

    2019-07-28 14:38:19
    给定一个正整数N,找到并返回 N的二进制表示中两个连续的 1 之间的最长距离。 如果没有两个连续的 1,返回 0 。 示例 1: 输入:22 输出:2 解释: 22 的二进制是 0b10110 。 在 22 的二进制表示中,有三个 1,...
  • 题目:插入找一个int数的二进制中连续最长的1开始出现的索引 例如:1457243 对应的二进制101100011110001011011 对应输出是10 分析:变量count记录连续1出现最大值长度,curcount记录当前最长值 对输入n,用0x01...
  • 二进制求和

    千次阅读 2019-01-10 15:07:48
    给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 输入: a = “11”, b = “1” 输出: “100” 示例 2: 输入: a = “1010”, b = “1011” 输出: “10101” ...
  • 给定一个正整数 n,找到并返回 n 的二进制表示中两个相邻 1 之间的最长距离 。如果不存在两个相邻的 1,返回 0 。 如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1 之间的距离是...
  • 二进制的问题
  • C++ 二进制转十进制

    2020-10-29 18:10:51
    有好几万个二进制数,最长不超过64,请将其都转换成十进制数 输入描述 输入有多行!!每行包含一个长度不超过64位二进制数,最后一行输入-1表示输入结束 输出描述 对于每行二进制数,输出转换后的十进制数,每个数...
  • 给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。 如果没有两个连续的 1,返回 0 。 示例 1: 输入:22 输出:2 解释: 22 的二进制是 0b10110 。 在 22 的二进制表示中,有三个 1,...
  • 计算二进制间距

    2020-09-14 22:56:27
    给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。 如果没有两个连续的 1,返回 0 。 示例 1: 输入:22 输出:2 解释: 22 的二进制是 0b10110 。 在 22 的二进制表示中,有三个 1,...
  • 给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。  如果没有两个连续的 1,返回 0 。   示例 1: 输入:22 输出:2 解释: 22 的二进制是 0b10110 。 在 22 的二进制表示中...
  • 二进制加法器

    千次阅读 2019-03-17 16:59:52
    上一节我们学习了ALU的加法实现功能部件——全加器,进行两个4bit的二进制数相加,就要用到4个全加器(如图1所示)。那么在进行加法运算时,首先准备好的是1号全加器的3个input。而2、3、4号全加器...
  • 868 二进制间距

    2020-08-26 08:37:33
    给定一个正整数 N,找到并返回 N 的二进制表示中两个相邻 1 之间的最长距离。 如果没有两个相邻的 1,返回 0 。 示例 1: 输入:22 输出:2 解释: 22 的二进制是 0b10110 。 在 22 的二进制表示中,有三个 1,组成...
  • 文章目录罗马数字转整数最长公共前缀二进制求和 罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字...
  • LeetCode 二进制间距

    2019-06-09 11:26:49
    给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。 如果没有两个连续的 1,返回 0 。 示例 1: 输入:22 输出:2 解释: 22 的二进制是 0b10110 。 在 22 的二进制表示中,有三个 1,...
  • 首先明确一点,我想要的结果是这个数字经过进制转换得到一个二进制数组,且最长不超过n。这里的n是可以调的,下面给出n=8时的例子。 public static String binaryString(int num) { StringBuilder result = ...
  • 本篇文章利用JavaScript实现LeetCode第868题 二进制间距(Binary Gap)。...给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。  如果没有两个连续的 1,返回 0 。
  • 给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。 如果没有两个连续的 1,返回 0 。 示例 1: 输入:22 输出:2 解释: 22 的二进制是 0b10110 。 在 22 的二进制表示中,有三个 1,...
  • 算法训练 6-2递归求二进制表示位数 时间限制:10.0s 内存限制:256.0MB  问题描述  给定一个十进制整数,返回其对应的二进制数的位数。例如,输入十进制数9,其对应的二进制数是1001,因此位数...
  • leetcode 868二进制间距

    2020-03-29 16:45:50
    给定一个正整数N,找到并返回 N的二进制表示中两个连续的 1 之间的最长距离。 如果没有两个连续的 1,返回 0 。 示例 1: 输入:22 输出:2 解释: 22 的二进制是 0b10110 。 在 22 的二进制表示中,有三个 1...
  • 电脑都是以二进制进行存储,电脑只会识别0和1,...二进制转化十进制,是当前的数乘以2的n次方,n表示位数,如下图 1011的二进制表示 =11 八进制和十六进制同样相同 快速转化法8421码 8421码 ...
  • 关于二进制加减

    2020-05-26 17:59:22
    题目:接受用户输入的0/1字符串(最长20), 检查用户输入是否合法(二进制字符串只能由0或1组成),如不合法,报错退出; 如合法,返回两者相加结果(二进制相加) 思路 : 先对用户输入的数字存进数组中进行判断...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,692
精华内容 22,276
关键字:

二进制最长多少位