题解 | #小红的字符生成#

小红的字符生成

https://www.nowcoder.com/practice/f8659377ca104b1aad45dd2fb564c940

//实际是将求正整数n能分解成最少多少个2的次方的合集的问题
void decomposeIntoPowersOfTwo(unsigned int n, std::vector<int>& powers) {
    for (int i = 0; n > 0; ++i) {
        if (n & 1) { // 如果当前位是1
            powers.push_back(i); // 将对应的指数添加到集合中
        }
        n >>= 1; // 右移一位
    }
}

全部评论

相关推荐

头像
11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务