博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode笔记:Gray Code(2016腾讯软件开发笔试题)
阅读量:6067 次
发布时间:2019-06-20

本文共 1684 字,大约阅读时间需要 5 分钟。

hot3.png

一.题目描述

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.

• For now, the judge is able to judge based on one instance of gray code sequence. Sorry about that.

class Solution{public:  vector
 buildGrayCode(int n)  {  }      int ans(int n)  {      //每一位都 i & (i -1)      vector
 vec;      int x = 1 << n;      for(int i=0; i
>1));      cout << vec[i] << ' ';      }      return vec;  }    //可以改成递归  int recur_ans(int n)  {    vector
 vec;    if(n < 0 ) return vec;    if(n == 1) {        vec.push_back(0);        vec.push_back(1);        return vec;    }    for(int i=2; i
<< (i - 1);      for(int j = vec.size() -1; j>=0; j--)      {          vec.push_back(highbit|j);      }    }    return vec;  }        vector
 recur_ans2(int n)  {   if(n ==0)   {   vector
 vec;   vec.push_back(0);   return vec;   }else{   vector
 res = recur_ans2(n-1);   int len = res.size();   int highbit = 1 << (n-1);   for(int i=len-1; i>=0; i--)   {   res.push_back(res[i] | highbit );   }   return res;   }  }};

转载于:https://my.oschina.net/badboy2/blog/504097

你可能感兴趣的文章
10分钟学会搭建Android开发环境 Eclipse: The import android.support cannot be resolved
查看>>
yum只下载软件不安装的两种方法
查看>>
silverlinght 项目
查看>>
记录下DynamicXml和HtmlDocument 使用方式
查看>>
[转]linux awk命令详解
查看>>
C#操作IE浏览器
查看>>
搜狗拼音输入法LINUX版安装
查看>>
运维生产环境常用脚本
查看>>
mysql怎么定义外键
查看>>
SQL与SQL Server
查看>>
java创建文件和目录归纳
查看>>
二维纹理 Texture 2D
查看>>
winner tree 胜者树
查看>>
jquery datagrid设置pageSize不起作用
查看>>
阿里巴巴曾鸣:数据时代来临
查看>>
CI框架初探
查看>>
腾讯QQ企业邮箱POP3/SMTP设置
查看>>
稳态可压Navier-Stokes方程组在Dirichlet边界下的解的存在性
查看>>
查询SQLSERVER执行过的SQL记录
查看>>
SaltStack运行任务卡住了,怎么办?
查看>>