zoukankan      html  css  js  c++  java
  • Gray Code


    1
    public class Solution { 2 public ArrayList<Integer> grayCode(int n) { 3 // IMPORTANT: Please reset any member data you declared, as 4 // the same Solution instance will be reused for each test case. 5 ArrayList<Integer> result = new ArrayList<Integer>(); 6 if(n < 0) 7 return result; 8 int count = 1 << n; 9 for(int i = 0; i < count; i++) 10 result.add(i^(i>>1)); 11 return result; 12 13 } 14 }
     1 public class Solution {
     2     public ArrayList<Integer> grayCode(int n) {
     3         // IMPORTANT: Please reset any member data you declared, as
     4         // the same Solution instance will be reused for each test case.
     5         ArrayList<Integer> result = new ArrayList<Integer>();
     6         if(n <= 1){
     7             result.add(0);
     8             if(n == 1){
     9                 result.add(1);
    10             }
    11             return result;
    12         }
    13         
    14         ArrayList<Integer> pre = grayCode(n - 1);
    15         int highest = 1 << (n - 1);
    16         result.addAll(pre);
    17         for(int i = pre.size() - 1; i >= 0 ; i --){
    18             result.add(pre.get(i) + highest);
    19         }
    20         return result;
    21     }
    22 }
  • 相关阅读:
    工厂模式一
    面向对象的简单理解二
    工厂模式三
    线程的简单学习
    nyoj35 表达式求值
    nyoj305 表达式求值
    poj1298 The Hardest Problem Ever
    poj1363 Rails
    hdu2036 改革春风吹满地
    nyoj467 中缀式变后缀式
  • 原文地址:https://www.cnblogs.com/jasonC/p/3420609.html
Copyright © 2011-2022 走看看