zoukankan      html  css  js  c++  java
  • 【leetcode】1680. Concatenation of Consecutive Binary Numbers

    题目如下:

    Given an integer n, return the decimal value of the binary string formed by concatenating the binary representations of 1 to n in order, modulo 109 + 7.

    Example 1:

    Input: n = 1
    Output: 1
    Explanation: "1" in binary corresponds to the decimal value 1. 
    

    Example 2:

    Input: n = 3
    Output: 27
    Explanation: In binary, 1, 2, and 3 corresponds to "1", "10", and "11".
    After concatenating them, we have "11011", which corresponds to the decimal value 27.
    

    Example 3:

    Input: n = 12
    Output: 505379714
    Explanation: The concatenation results in "1101110010111011110001001101010111100".
    The decimal value of that is 118505380540.
    After modulo 109 + 7, the result is 505379714.

    Constraints:

    • 1 <= n <= 105

    解题思路:直接计算吧,能AC。

    代码如下:

    class Solution(object):
        def concatenatedBinary(self, n):
            """
            :type n: int
            :rtype: int
            """
            binStr = ''
            for i in range(1,n+1):
                binStr += bin(i)[2:]
            return int(binStr,2) % (10**9 + 7)
  • 相关阅读:
    Java——static
    Java——package与import
    Java——方法重写
    Java——super
    Java——类的继承、访问控制
    Java——API文档
    Java——对象转型
    Java——动态绑定和多态
    Java——抽象类
    redis在linux上的安装和配置
  • 原文地址:https://www.cnblogs.com/seyjs/p/14931507.html
Copyright © 2011-2022 走看看