位运算规律——格雷编码
Posted C+++++++++++++++++++
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了位运算规律——格雷编码相关的知识,希望对你有一定的参考价值。
题目
解题分析
这里挂上原图的b站up主讲解视频链接:视频讲解
我觉得应该看这张图,然后就能了解其中的规律了吧。
解题代码
class Solution
public:
vector<int> grayCode(int n)
vector<int> ret;
ret.reserve(1 << n); //TODO 提前分配好底层的内存为 2^n 个
ret.push_back(0); //TODO 第一个一定是0
for (int i = 1; i <= n; i++)
int m = ret.size();
for (int j = m - 1; j >= 0; j--) //TODO 根据之前的答案倒序镜像得到新的结果
ret.push_back(ret[j] | (1 << (i - 1)));
return ret;
;
以上是关于位运算规律——格雷编码的主要内容,如果未能解决你的问题,请参考以下文章