leetcode第21天格雷编码
生活随笔
收集整理的這篇文章主要介紹了
leetcode第21天格雷编码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
格雷編碼是一個二進制數字系統,在該系統中,兩個連續的數值僅有一個位數的差異。
給定一個代表編碼總位數的非負整數 n,打印其格雷編碼序列。格雷編碼序列必須以 0 開頭。
示例 1:
輸入: 2
輸出: [0,1,3,2]
解釋:
00 - 0
01 - 1
11 - 3
10 - 2
對于給定的 n,其格雷編碼序列并不唯一。
例如,[0,2,3,1] 也是一個有效的格雷編碼序列。
00 - 0
10 - 2
11 - 3
01 - 1
示例 2:
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/gray-code
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
題目中的各類編碼可以用二進制的方法來做。
class Solution {
public List grayCode(int n) {
List res = new ArrayList<>();
for (int i = 0; i < Math.pow(2, n); i++) {
res.add((i >> 1) ^ i);
}
return res;
}
}
總結
以上是生活随笔為你收集整理的leetcode第21天格雷编码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【rf】robotframework自动
- 下一篇: CLRS 16.2贪心算法的原理