📄 gray.java
字号:
package Method;
public class Gray {
public static void main(String[] args) {
String[] string=new String[1<<5];
string=Grays(5);
for(int i=0;i<(1<<5);i++)
System.out.print(string[i]+".");
}
public static String[] Grays(int n)
{
String[] s=new String[1<<n];
if(n==1)
{
s[0]="0";
s[1]="1";
}
else
{
int n1,n2,n3;
n2=n/2; //将n拆分成n1和n2的形式 递归调用实现
n1=n-n2;
String[] s1=new String[1<<n2];
s1=Grays(n2);
String[] s2=new String[1<<n1];
s2=Grays(n1);
for(int i=0;i<(1<<n2);i++)
{
n3=(1<<n1)+1; //这个变量用户将一定位置的S调换
for(int j=0;j<(1<<n1);j++)
{
if(i%2!=0)
{
n3=n3-2;
s[i*(1<<n1)+j+n3]=s1[i]+s2[j];//实现有些变量的逆转
}
else
s[i*(1<<n1)+j]=s1[i]+s2[j];
}
}
}
return s;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -