轻量级前端框架助力开发者提升项目效率与性能
844
2022-11-01
#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 + len; 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 + len; } return ans; }}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~