国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[Leetcode] Gray Code 格雷碼

Code4App / 2468人閱讀

摘要:找規(guī)律復(fù)雜度時(shí)間空間思路仔細(xì)觀察格雷碼當(dāng)時(shí)當(dāng)時(shí)當(dāng)時(shí)可以發(fā)現(xiàn),的格雷碼,就是的格雷碼,再加上它們的逆序前面多一個(gè)。

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

找規(guī)律 復(fù)雜度

時(shí)間 O(N) 空間 O(N)

思路

仔細(xì)觀察格雷碼
當(dāng)n=1時(shí)

1
0

當(dāng)n=2時(shí)

00
01
11
10

當(dāng)n=3時(shí)

000
001
011
010
110
111
101
100

可以發(fā)現(xiàn),n的格雷碼,就是n-1的格雷碼,再加上它們的逆序前面多一個(gè)1。

代碼
public class Solution {
    public List grayCode(int n) {
        List res = new ArrayList();
        // 加入初始值0
        res.add(0);
        for(int i = 0; i < n; i++){
            // 每一輪的最高位
            int highestBit = 1 << i;
            int size = res.size();
            // 逆序添加上一輪里出現(xiàn)的數(shù),不過(guò)開(kāi)頭加上這一輪的最高位
            for(int j = size - 1; j >= 0; j--){
                int num = res.get(j);
                num += highestBit;
                res.add(num);
            }
        }
        return res;
    }
}
公式法 復(fù)雜度

時(shí)間 O(N) 空間 O(N)

思路

工業(yè)中的第i個(gè)格雷碼是這么生成的:(i>>1)^i
i是指下標(biāo),從0開(kāi)始,對(duì)于n的格雷碼序列,一共有2^n個(gè)數(shù)

代碼
public class Solution {
    public List grayCode(int n) {
        List res = new ArrayList();
        for(int i = 0; i < 1 << n; i++) res.add((i >> 1)^i);
        return res;
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/64531.html

相關(guān)文章

  • 數(shù)據(jù)結(jié)構(gòu)與算法-LeetCode 格雷編碼(No.89)

    摘要:例如,也是一個(gè)有效的格雷編碼序列。示例輸入輸出解釋我們定義格雷編碼序列必須以開(kāi)頭。給定編碼總位數(shù)為的格雷編碼序列,其長(zhǎng)度為。因此,當(dāng)時(shí),其格雷編碼序列為。 LeetCode 89. 格雷編碼 格雷編碼是一個(gè)二進(jìn)制數(shù)字系統(tǒng),在該系統(tǒng)中,兩個(gè)連續(xù)的數(shù)值僅有一個(gè)位數(shù)的差異。給定一個(gè)代表編碼總位數(shù)的非負(fù)整數(shù) n,打印其格雷編碼序列。格雷編碼序列必須以 0 開(kāi)頭。第一個(gè)數(shù)與最后一位數(shù) 也只差以...

    Youngs 評(píng)論0 收藏0
  • LeetCode 89: GrayCode (Java)

    摘要:位的格雷碼是在位的格雷碼前面加或。由上圖可以發(fā)現(xiàn),位的格雷碼后一位是鏡像對(duì)稱位的格雷碼后位是鏡像對(duì)稱位的格雷碼后位是鏡像對(duì)稱。規(guī)律就是為格雷碼是在位格雷碼的基礎(chǔ)上,先將位鏡像對(duì)稱然后前一半首位添,后一般首位添而得到。 google電面第一輪碰到的題. GrayCode:給定位數(shù)n,按規(guī)律生成一組二進(jìn)制代碼,直接上例子。 showImg(https://segmentfault.com/...

    xiguadada 評(píng)論0 收藏0
  • 微信小程序中圖片上傳阿里云Oss

    摘要:微信小程序圖片上傳阿里云服務(wù)器也折騰了蠻久才解決的,所以特意去記錄一下。上傳失敗第四步源碼在這里如果覺(jué)得這面文章對(duì)你有幫助的話,可給我點(diǎn)個(gè)這里,謝謝最后,希望這篇文章對(duì)你有所幫助,真真確確是可以在微信小程序中上傳圖片到阿里云的。 本人今年6月份畢業(yè),最近剛在上海一家小公司實(shí)習(xí),做微信小程序開(kāi)發(fā)。最近工作遇到一個(gè)小問(wèn)題。 微信小程序圖片上傳阿里云服務(wù)器Oss也折騰了蠻久才解決的,所以特意...

    Yang_River 評(píng)論0 收藏0
  • 微信小程序中圖片上傳阿里云Oss

    摘要:微信小程序圖片上傳阿里云服務(wù)器也折騰了蠻久才解決的,所以特意去記錄一下。上傳失敗第四步源碼在這里如果覺(jué)得這面文章對(duì)你有幫助的話,可給我點(diǎn)個(gè)這里,謝謝最后,希望這篇文章對(duì)你有所幫助,真真確確是可以在微信小程序中上傳圖片到阿里云的。 本人今年6月份畢業(yè),最近剛在上海一家小公司實(shí)習(xí),做微信小程序開(kāi)發(fā)。最近工作遇到一個(gè)小問(wèn)題。 微信小程序圖片上傳阿里云服務(wù)器Oss也折騰了蠻久才解決的,所以特意...

    netmou 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<