Leetcode Gray Code

    xiaoxiao2024-11-20  5

    题意:

            给出一组n位的Gray Code。

    思路:

            之前想用模拟的方法求解,发现时间复杂度有点高。参考了wiki上的生成方法:https://en.wikipedia.org/wiki/Gray_code

            n*(n/2)

    代码如下:

    /** * Return an array of size *returnSize. * Note: The returned array must be malloced, assume caller calls free(). */ int* grayCode(int n, int* returnSize) { int k=pow(2,n); int i,j; int *p=(int*)malloc(sizeof(int)*k); for(i=0;i<k;++i){ *(p+i)=i^(i/2); } *returnSize=k; return p; }

    转载请注明原文地址: https://ju.6miu.com/read-1293825.html
    最新回复(0)