我是靠谱客的博主 大胆薯片,最近开发中收集的这篇文章主要介绍Leetcode 89. 格雷编码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

X_Y 如果X中1的个数是奇数那么_从1开始遍历,否则从0开始
以三为例

X为空从0开始{_Y【0、1】
    X = 0偶数个{0_Y【0、1】
        X = 00偶数个{00_【0、1】
            000 001
        }
        X = 01奇数个{01_【1、0】
            011 010
        }
    }
    X = 1奇数个{ 1_Y【1、0】
        X = 11偶数个{11_【0、1】
            110 111
        }
        X = 10奇数个{10_【1、0】
            101 100
        }
    }
}
class Solution {
public:
    vector<int> ans;
    void dfs(int index, int f, int x) {
        if (index <0) {
            ans.push_back(x);
            return;
        }
        dfs(index - 1, 0, x + (1 << index)*f);
        dfs(index - 1, 1, x + (1 << index)*(f ^ 1));
    }
    vector<int> grayCode(int n) {
        dfs(n - 1, 0, 0);
        return ans;
    }
};

最后

以上就是大胆薯片为你收集整理的Leetcode 89. 格雷编码的全部内容,希望文章能够帮你解决Leetcode 89. 格雷编码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部