zoukankan      html  css  js  c++  java
  • [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.

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

    Have you been asked this question in an interview? 

     

    class Solution {
    public:
        vector<int> grayCode(int n) {
            vector<int> res;
        	int num = 1<<n;
            int i = 0;
    		while(i<num)
    			res.push_back((i>>1)^(i++));
    		return res;
        }
    };
    

     

      

     

  • 相关阅读:
    Java异常简介
    Java中的接口
    Java中的抽象类
    Java的多态
    关于this
    面向对象的继承方式详解
    1像素边框问题
    HTML5之本地存储SessionStorage
    js数组去重的4个方法
    前端模块化
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3593701.html
Copyright © 2011-2022 走看看