美文网首页
笔试刷题-腾讯2018-08-18

笔试刷题-腾讯2018-08-18

作者: Dodo159753 | 来源:发表于2018-08-18 07:36 被阅读0次

题目描述:

/**
在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,
则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。
给定一个整数n,请返回n位的格雷码,顺序为从0开始。
测试样例:
1
返回:["0","1"]
*/

思路如下:

用递归思想找规律即可
f(n-1)表示n-1个的序列
产生f(n)
先顺序遍历f(n-1)在头部加0
再倒序遍历f(n-1)在头部加1

代码如下:

class GrayCode {
public:
    vector<string> getGray(int n) {
        // write code here
        vector<string> res;
        if(n==1){
            res.push_back("0");
            res.push_back("1");
            return res;
        }
        else{
            vector<string> preRes=getGray(n-1);
            for(int i=0; i<preRes.size(); i++){
                res.push_back("0"+preRes[i]);
            }
            for(int i=preRes.size()-1; i>=0; i--){
                res.push_back("1"+preRes[i]);
            }
            return res;
        }
    }
};

相关文章

  • 笔试刷题-腾讯2018-08-18

    题目描述: 思路如下: 用递归思想找规律即可f(n-1)表示n-1个的序列产生f(n)先顺序遍历f(n-1)在头部...

  • 腾讯市场策划与推广 笔试+面试

    腾讯笔试+面试 面试岗位 市场策划与推广 笔试篇 腾讯的笔试刷人不多。笔试会先找时间有一轮模拟笔试让你熟悉环境和题...

  • LeetCode 204. Count Primes使用Siev

    前两天腾讯笔试碰到这个题,还很傻的采用了传统方法,今天刷题碰到类似的题,发现一个很巧妙的算法:Sieve of E...

  • 腾讯笔试面试圈

    整理了一下腾讯往届笔试面试题,希望对大家有帮助: 来源:腾讯笔试面试圈>> 1、史上最全Java面试266题:算法...

  • 笔试刷题笔记

    C++中运算符重载是多态性的一种表现 运算符重载是针对C++原有运算符进行的,不可能通过重载创造出新的运算符 除了...

  • 9.12 丰盛日记

    最近感觉不是很开心 失恋的感觉 1 完成了腾讯笔试又写了稿子。阿里被刷了简历 有遗憾也认识到了现实,腾讯的笔试也认...

  • 公考经验五

    第九篇 笔试阶段。总体说下,笔试备考主要是刷题和一直写申论。行测下载粉笔公考APP去刷题,界面很简洁,题目解释也很...

  • ZOJ Problem Set - 1001&1002&

    开始前的话 今天微软笔试难度直接把我吓蒙了··· 之前的腾讯网易笔试这些都还好,算法题能写出来,微软的4个算法题,...

  • 笔笔通

    1. 笔试题 信心满满的去面算法工程师,竟然凉了. 腾讯/京东/网易校招笔试刷人超70%!这份笔试自救指南请收好 ...

  • 笔试算法刷题

    原创:王稳钺资料来源:安老师 一、刷题方法与面\笔试能力突破技巧 平时刷题时,市面上大多数尤其以LeetCode为...

网友评论

      本文标题:笔试刷题-腾讯2018-08-18

      本文链接:https://www.haomeiwen.com/subject/wcvxiftx.html