LeetCode 1256. 加密数字(bitset)

    技术2025-08-17  17

    文章目录

    1. 题目2. 解题

    1. 题目

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

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

    示例 1: 输入:num = 23 输出:"1000" 示例 2: 输入:num = 107 输出:"101100" 提示: 0 <= num <= 10^9

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/encode-number 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    2. 解题

    解密:数字+1,转成二进制,删除最高位 class Solution { public: string encode(int num) { num++; bitset<32> bs(num); string ans = bs.to_string();//bitset高位在左边 int i = 0; while(ans[i]=='0') i++; return ans.substr(i+1);//+1跳过了高位 } };

    0 ms 6 MB


    我的博客地址 https://michael.blog.csdn.net/

    长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

    Processed: 0.011, SQL: 9