LeetCode_Gray Code

The gray code is a binary numeral system where two successive values differ in only one bit.
 
Given a non-negative integer n representing the total number of bits in the code, print the sequence of gray code. A gray code sequence must begin with 0.
 
For example, given n = 2, return [0,1,3,2]. Its gray code sequence is:
 
00 - 0
01 - 1
11 - 3
10 - 2
Note:
For a given n, a gray code sequence is not uniquely defined.
 
For example, [0,2,3,1] is also a valid gray code sequence according to the above definition.
复制代码
class Solution {
public:
    vector<int> grayCode(int n) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        
        
        vector<int> result ;
        
        for(int i = 0; i< pow(2,n);i++)
        {
            int temp = (i>>1)^i;
            result.push_back(temp);
        }
        
        return result ;
        
    }
};
复制代码

reference: http://baike.baidu.cn/view/358724.htm

http://blog.csdn.net/beiyeqingteng/article/details/7044471

posted @   冰点猎手  阅读(142)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示