Gray Code

DP

    vector<int> grayCode(int n) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        vector<int> res;
        if(n<0)
            return res;
        res.push_back(0);
        int cnt = 1;
        for(int i=1;i<=n;i++)
        {
            int added = 1<<(i-1);
            for(int j=cnt-1;j>=0;j--)
                res.push_back(added+res[j]);
            cnt *= 2;
        }
        return res;
        
    }

  

posted @ 2013-10-05 15:27  summer_zhou  阅读(134)  评论(0编辑  收藏  举报