【发布时间】:2021-01-03 20:14:13
【问题描述】:
假设我有一个长度为 6 的数字 100101。我希望从位置 2 开始翻转位到 5,所以我的答案将是 111011。我知道我可以在循环中翻转单个位。但是有没有一种没有 for 循环的有效方法呢?
【问题讨论】:
-
大概你并不总是试图翻转所有未设置的位?请稍微澄清一下您的输入/输出。您似乎还假设索引从
1开始?它是大端还是小端? -
@AsteroidsWithWings 我正在尝试解决竞争性编码问题。使用循环增加让我得到一个 Time limit Exceeded 输出。
-
什么竞争性编码问题?
-
@AsteroidsWithWings Leetcode 995。问题可能有不同的解决方案,但是当我寻找翻转部分 bitset 时,我找不到任何东西
标签: c++ bit-manipulation std-bitset