当前位置: 首页 > 后端技术 > Java

LeetCode-089-GrayEncoding

时间:2023-04-01 14:30:12 Java

GrayEncoding题目描述:格雷编码是一种二进制数系,其中两个连续的值只相差一位数。给定一个非负整数n表示编码的总位数,打印其格雷编码序列。即使有多个不同的答案,你也只需要返回其中一个即可。格雷码序列必须从0开始,例子见LeetCode官网。来源:LeetCode链接:https://leetcode-cn.com/probl...版权归LeetCode所有。商业转载请联系官方授权,非商业转载请注明出处。解法一:二元运算求规律:n的格雷码总数为n-1的所有格雷码加上n-1的所有格雷码加上前面的1。所以可以按照这个规则来解决。importjava.util.ArrayList;importjava.util.List;publicclassLeetCode_089{publicstaticListgrayCode(intn){Listresult=newArrayList<>();结果.添加(0);int头=1;for(inti=0;i=0;j--){结果。添加(头+结果。得到(j));}头<<=1;}返回结果;}publicstaticvoidmain(String[]args){for(Integers:grayCode(2)){System.out.println(s);}}【每日留言】一个人深厚的期待,不仅可以创造自己的机遇,更可以造就自己的天才!