GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • LeetCodeJavascript.com
  • Star on GitHub

This view

  • Original page
  • New address

GeezerVison is showing leetcodejavascript.com — #89 - Gray Code - LeetCode JavaScript Solutions

Back to all solutions

#89 - Gray Code

Medium • View on LeetCode • View on GitHub
Math Bit Manipulation Backtracking

Problem Description

An n-bit gray code sequence is a sequence of 2n integers where:

  • Every integer is in the inclusive range [0, 2n - 1],
  • The first integer is 0,
  • An integer appears no more than once in the sequence,
  • The binary representation of every pair of adjacent integers differs by exactly one bit, and
  • The binary representation of the first and last integers differs by exactly one bit.

Given an integer n, return any valid n-bit gray code sequence.

Solution

/**
 * @param {number} n
 * @return {number[]}
 */
var grayCode = function(n) {
  const result = [0];
  for (let i = 0; i < n; i++) {
    result.push(...result.map((v) => v | 1 << i).reverse());
  }
  return result;
};
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.