• 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.

    思路:一开始数组中只有0,然后在二进制形势下,反复把结果数组中所有的已知结果最高位的1前面的0置为1,这样做结果肯定只相差改变的这一位。

     1 class Solution {
     2 public:
     3     vector<int> grayCode(int n) {
     4         vector<int> res(1, 0);
     5         for (int i = 0; i < n; i++)
     6         {
     7             int inc = 1 << i;
     8             for (int n = res.size(), j = n - 1;
     9                     j >= 0; j--)
    10                     res.push_back(res[j] + inc);
    11         }
    12         return res;
    13     }
    14 };
  • 相关阅读:
    基数排序
    定时任务
    线程池的创建
    SharePoint 客户端对象模型 多选查阅项赋值
    Sharepoint Rest 根据user获取UserId
    SHAREPOINT
    plupload 实例
    JS 在web页面中调用本地应用程序
    Jquery ajax上传文件到服务器
    sharepoint 人员选择控件使用
  • 原文地址:https://www.cnblogs.com/fenshen371/p/4922902.html
Copyright © 2020-2023  润新知