zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Kruskal算法
    拓扑排序
    邻接表有向图
    邻接矩阵的有向图
    邻接表无向图
    邻接矩阵无向图
    斐波那契堆
    二项堆
    斜堆(待补充)
    项目中maven依赖无法自动下载
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12776393.html
Copyright © 2011-2022 走看看