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

小红的字符生成

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; // 右移一位
    }
}

全部评论

相关推荐

鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务