leetcode笔记:Gray Code(2016腾讯软件开发笔试题)
2019独角兽企业重金招聘Python工程师标准>>>
一.题目描述
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<int> buildGrayCode(int n){}int ans(int n){//每一位都 i & (i -1)vector<int> vec;int x = 1 << n;for(int i=0; i<x; i++){vec.push_back(i & (i>>1));cout << vec[i] << ' ';}return vec;}//可以改成递归int recur_ans(int n){vector<int> vec;if(n < 0 ) return vec;if(n == 1) {vec.push_back(0);vec.push_back(1);return vec;}for(int i=2; i<n; i++){int highbit = 1 << (i - 1);for(int j = vec.size() -1; j>=0; j--){vec.push_back(highbit|j);}}return vec;}vector<int> recur_ans2(int n){if(n ==0){vector<int> vec;vec.push_back(0);return vec;}else{vector<int> 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
leetcode笔记:Gray Code(2016腾讯软件开发笔试题)相关推荐
- 腾讯软件开发笔试题 武汉
2013,10,13, 两道编程题: 1.有100W个关键字,长度小于等于50字节.用高效的算法找出top10的热词,并对内存的占用不超过1MB. 2.求二叉树的任意两个节点的最近公共祖先.
- c++软件开发面试旋极面试题_腾讯软件开发面试题(有详细解答)
我大学的时候,就有些博客的习惯.今天翻回去看之前写的博客,觉得有些幼稚,也有些惊喜.比如17 年初写的腾讯软件开发面试题还挺多人阅读评论的,这是我意想不到的,今天也整理一下,发出来给大家看下. 1.已 ...
- 百度2015校园招聘软件开发笔试题及答案
简单题(本题共30分) 请简述Tcp-ip的3次握手以及4次挥手过程?并解释为何关闭连接需要4次挥手(10分) 详细答案参见TCP/IP协议三次握手与四次握手流程解析 TCP三次握手.四次挥手过程如下 ...
- 小米2019秋招软件开发笔试题A选择部分解析
之前去牛客做了一下,顺手把答案和解析写下. 只是个人的理解,个人水平有限,如果有哪里错了各位可以提醒一下我改一下,非常感谢. 1.哪些语言是面向对象的?(多选) 很明显,排除法的话:c肯定不是,jav ...
- 美团C++软件开发笔试题
题一 题目描述 在观星的时候,一种常用的方式是划出类似于正方形的区域内,确定其中所有的星星的坐标. 现在我们在星空(一个无限大的二维平面)上建立坐标系,由于星星很小,我们忽略它的面积,认为每一个星星是 ...
- 小米秋招软件开发笔试题
- 2014京东校园招聘-软件开发笔试题
2019独角兽企业重金招聘Python工程师标准>>> 今天去川大参加了京东的宣讲,外加笔试,那叫一个人山人海啊,貌似有1000人,通道和走廊甚至演讲台上都站满了人,oh my go ...
- [历年IT笔试题]2014京东校园招聘-软件开发笔试题
第一部分 数据结构与算法 1:链表不具备的特点是 A 可随机访问任何一个元素 B 插入,删除操作不需要移动元素 C 无需事先估计存储空间大小 D 所欲存储空间与线性表长度成正比 2:在一个单链表中,若 ...
- 深圳科陆集团2015校招软件开发笔试题
原文:http://www.dy1280.com/thread-853-1-1.html 估计很多人都没听说过这个公司,深圳市科陆电子科技股份有限公司是深圳市高新技术企业,专门从事电力精密测试设备.电 ...
最新文章
- 八、LaTex中的表格
- 解决linux病毒导致带宽跑满的解决过程 ,可以参考参考
- MySQL视图、事务与存储过程
- TiDB-新一代数据库入门介绍
- 阿里文娱实战 | 小而美的 egg-react-ssr 开源实现方案
- 斯坦福大学深度学习公开课cs231n学习笔记(6)神经网路输入数据预处理(归一化,PCA等)及参数初始化
- 邮件、社交营销最全“勾搭”策略
- Detours库配置记录
- 固态硬盘多大合适 php,固态硬盘写入寿命是多久
- 《高质量C++/C编程指南》陷阱 【转】
- 笔记本电脑怎么做服务器的显示屏,干货!笔记本液晶屏不要扔,自己动手DIY便携显示器...
- win10修改用户名_win10最详细优化设置|win10专业版笔记本优化教程
- MongoTemplate实现mongodb聚合管道查询
- @Resource和@Autowired的区别
- hdu 4009 Transfer water(最小树形图模板)
- 编译原理基本定义(文法、算符文法、算符优先文法、算符优先关系表、算符优先分析过程)
- kali Linux的 安装详细步骤
- 又当爹又当妈的产品经理
- 中国首例!大脑植入电极,高位截瘫病人用意念喝水
- p5.js简易实现 apple watch 三色表盘