leetcode-13双周赛-1256-加密数字

题目描述:编码

 

 方法一:

class Solution(object):
    def encode(self, n):
        if n == 0: return ""
        n -= 1
        A = ['0' if n % 2 == 0 else '1']
        # 01 2345
        e = 2
        while n >= e:
            n -= e
            e *= 2
            A.append('0' if n % e < (e/2) else '1')
        return "".join(A[::-1])

 

posted @ 2019-11-21 13:31  oldby  阅读(240)  评论(0编辑  收藏  举报