leetcode_1256 加密数字

111 阅读1分钟

要求

给你一个非负整数 num ,返回它的「加密字符串」。

加密的过程是把一个整数用某个未知函数进行转化,你需要从下表推测出该转化函数:

示例 1:

输入:num = 23
输出:"1000"

示例 2:

输入:num = 107
输出:"101100"

提示:

  • 0 <= num <= 10^9

核心代码

class Solution:
    def encode(self, num: int) -> str:
        return bin(num + 1)[3:]

image.png

解题思路:观察可得f(n) 等于 n + 1的二进制形式去掉最左边的一位,bin得到的结果是0bxx,去掉前面3位即可。时间复杂度:O(logN) 空间复杂度:O(logN)