Задача 7: Серый код

Напишите определение функции grayCode(n), которая принимает целое число n и возвращает допустимую последовательность серых кодов длины 2^n, удовлетворяющую следующим условиям:

  • Каждое число находится в диапазоне [0, 2^n - 1],
  • Первое число равно 0,
  • Каждое число появляется не более одного раза в последовательности,
  • Двоичное представление каждого соседнего числа отличается ровно на один бит,
  • Двоичное представление первого и последнего числа отличается ровно на один бит.

Пример 1:

Ввод: n = 2
Вывод: [0,1,3,2]
Пояснение: Двоичное представление последовательности [0,1,3,2] — [00,01,11,10].

  • 00 и 01 отличаются на один бит,
  • 01 и 11 отличаются на один бит,
  • 11 и 10 отличаются на один бит,
  • 10 и 00 отличаются на один бит.

Пример 2:

Ввод: n = 1
Вывод: [0,1]

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии