1665. 计算数字

Posted yunxintryyoubest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1665. 计算数字相关的知识,希望对你有一定的参考价值。

1665. 计算数字

中文English

给出一个十进制数num,现在你需要把它转成二进制数,并返回1的个数和位置。

样例

例1:

输入: 10
输出: [2,1,3]
解释: 10转成2进制为1010,总共有2个1,所以ouptput数组第一个是2。然后1的位置是第1个和第3个,所以后续两个数为1,3.

例2:

输入: 7
输出: [3,1,2,3]
解释: 7转成2进制为111,总共有3个1,所以output数组第一个是3。然后的位置是第1个、第2个和第3个,所以后续三个数为1,2,3.

注意事项

n<=10^9

输入测试数据 (每行一个参数)如何理解测试数据?
class Solution:
    """
    @param num: the num
    @return: the array subject to the description
    """
    ‘‘‘
    大致思路:
    1.转二进制[2:],取出1个个数,写入res里面,循环,依次将1的位置append到res里面,返回
    ‘‘‘
    def calculateNumber(self, num):
        bin_num = bin(num)[2:]
        res = [bin_num.count(1)]
        for i in range(len(bin_num)):
            if bin_num[i] == 1:
                res.append(i+1)
        return  res

 

以上是关于1665. 计算数字的主要内容,如果未能解决你的问题,请参考以下文章

10个JavaScript代码片段,使你更加容易前端开发。

golang代码片段(摘抄)

HihoCoder1665方块游戏([Offer收割]编程练习赛40)(线段树)

BZOJ1665 Usaco2006 Open The Climbing Wall

UVA 1665 Islands

HDU 1665 - Different Digits(几何 + 欧拉定理)