zoukankan      html  css  js  c++  java
  • leetcode 89 格雷编码

    题目描述:

      格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。

    格雷编码序列必须以 0 开头。

    题解:

      找到格雷码和二进制编码的规律(见代码)。

    Int    Grey Code    Binary
     0      000        000
     1      001        001
     2      011        010
     3      010        011
     4      110        100
     5      111        101
     6      101        110
     7      100        111

    AC代码:

    class Solution {
    public:
        vector<int> grayCode(int n) {
            vector<int> res;
            for (int i = 0; i < pow(2,n); ++i) {
                res.push_back((i >> 1) ^ i);
            }
            return res;
        }
    };
  • 相关阅读:
    Redis
    元类 metaclass
    聊一聊 Django 中间件
    Django rest framework
    聊一聊python的单例模式
    Django-admin管理工具
    MongoDB
    Beautifulsoup
    三、模型(一)
    九、Python发送QQ邮件(SMTP)
  • 原文地址:https://www.cnblogs.com/z1141000271/p/12796790.html
Copyright © 2011-2022 走看看