2015年秋季腾讯校园招聘开发岗笔试题 四道大题之一
来源:互联网 发布:mac上好用的tex编辑器 编辑:程序博客网 时间:2024/05/16 05:17
1. 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码( Gray Code )。请编写一个函数,使用递归方法生成 N 位的格雷码,并且保证这个函数的健壮性。
这是一道leetcode的原题https://leetcode.com/problems/gray-code/,关于二进制数i对应的格雷码j有如下关系j=i^(i>>1);
比较简单,非递归代码如下:
vector<int> grayCode(int n) { vector<int> v; int num=1; for(int x=0;x<n;x++) num*=2; for(int i=0;i<num;i++) v.push_back(i^(i>>1)); return v; }递归代码:
vector<int> grayCode(int n) { vector<int> v; if(n==0) v.push_back(0); else if(n==1) { v.push_back(0); v.push_back(1); } else { v=grayCode(n-1); int x=v.size(); for(int i=x;i<2*x;++i) v.push_back(i^(i>>1)); } return v; }
0 0
- 2015年秋季腾讯校园招聘开发岗笔试题 四道大题之一
- 2015年秋季腾讯校园招聘开发岗笔试题 四道大题之二
- 2015年秋季腾讯校园招聘开发岗笔试题(四道大题)
- 2015年秋季腾讯校园招聘开发岗笔试题 四道大题三、四
- 2015年秋季腾讯校园招聘开发岗笔试题二
- 2014年腾讯软件开发校园招聘笔试题
- 2015年阿里巴巴秋季校园招聘笔试题目
- 阿里巴巴集团2015秋季校园招聘笔试题
- 阿里巴巴2015秋季校园招聘研发工程师在线笔试题
- 2015秋季校园招聘 IT公司笔试题
- 酷狗2015秋季校园招聘技术开发类笔试题
- 数码视讯2015秋季校园招聘C++笔试题
- 阿里巴巴2015秋季校园招聘前端开发工程师在线笔试题及答案
- 阿里巴巴2015秋季校园招聘前端开发工程师在线笔试题及答案
- 腾讯2012年校园招聘笔试题
- 阿里巴巴2016年秋季校园招聘C++研发岗在线笔试附加题第一题
- 腾讯2014校园招聘软件后台开发类笔试题
- 腾讯2014校园招聘软件后台开发类笔试题
- webservice
- oracle 登录时提示无监听登陆不进去
- PhpStorm+xdebug搭建php远程调试环境
- logback 配置详解
- HTTP之-网址中的问号
- 2015年秋季腾讯校园招聘开发岗笔试题 四道大题之一
- H-Index
- android 动画--帧动画--仿美团加载中小人
- Stochastic gradient descent与Batch gradient descent
- WPF ItemContainerGenerator.ContainerFromItem返回Null
- ACM-最短路径邻接表
- 计算机网络学习——02
- 设计模式-单例模式
- C++ 防 陷阱3 结构体位对齐详细说明