码迷,mamicode.com
首页 > 其他好文 > 详细

1665. 计算数字

时间:2020-04-26 01:28:53      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:个数   esc   返回   dal   Edito   oda   tabs   tor   注意事项   

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. 计算数字

标签:个数   esc   返回   dal   Edito   oda   tabs   tor   注意事项   

原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12776393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!