#yyds干货盘点# 名企真题专题:生成格雷码

1.简述:

描述

在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。

给定一个整数n,请返回n位的格雷码,顺序为从0开始。

测试样例:

1返回:[“0″,”1”]

2.代码实现:

import java.util.*;public class GrayCode { public String[] getGray(int n) { // write code here String[] ans = new String[(int) Math.pow(2, n)]; ans[0] = “0”; ans[1] = “1”; int len = 2, len2 = len << 1; for(int i = 1; i < n; i++) { for(int j = len; j < len2; j++) { ans[j] = “1” + ans[len – 1 – j + len]; } for(int j = 0; j < len; j++) { ans[j] = “0” + ans[j]; } len = len2; len2 = len << 1; } return ans; }} 当眼泪流尽的时候,留下的应该是坚强。

#yyds干货盘点# 名企真题专题:生成格雷码

相关文章:

你感兴趣的文章:

标签云: