[JavaScript] Easy to understand - brute force & non brute force
SOLUTION 1\n\nBrute force solution. We traversal all possible numbers and check whether it includes 0.\n\njs\nconst memo = new Uint8Array(10000);\nconst helper 
### SOLUTION 1\n\nBrute force solution. We traversal all possible numbers and check whether it includes 0.\n\n```js\nconst memo = new Uint8Array(10000);\nconst helper = x => {\n  if (memo[x] !== 0) return memo[x] === 1;\n  while (x > 0) {\n    if (x % 10 === 0) { memo[x] = 2; return false; }\n    x = x / 10 << 0;\n  }\n  memo[x] = 1;\n  return true;\n};\nconst getNoZeroIntegers = n => {\n  let m = 0;\n  while (n--) {\n    if (helper(++m) && helper(n)) return [m, n];\n  }\n};\n```\n\n### SOLUTION 2\n\nNon brute force solution. We initial the values `x` and `y` as 1 and `n - 1`.\n\nIf `y` or `x` contains 0, then we gonna change it. Here I choose to minus value from `y` and add it to `x`. For example, if the 0 is in the tens, then we minus 10 from `y` and add 10 to `x`.\n\nWe keep looping until neither `x` and `y` contains 0.\n\n```js\nconst helper = x => {\n  let digit = 0;\n  while (x > 0) {\n    if (x % 10 === 0) break;\n    x = x / 10 << 0;\n    ++digit;\n  }\n  return digit;\n};\nconst getNoZeroIntegers = n => {\n  let x = 1, y = n - 1;\n  while (true) {\n    let num = 10 ** helper(y);\n    if (num < y) {\n      y -= num;\n      x += num;\n      continue;\n    }\n    num = 10 ** helper(x);\n    if (num > x) break;\n    y -= num;\n    x += num;\n  }\n  return [x, y];\n};\n```\n
['JavaScript']