Javascript - Bit Manipulation + Greedy
Code\n\n/**\n * @param {number[]} nums\n * @return {number}\n */\nvar maxSubarrays = function (nums) {\n  const AND = nums.reduce((acc, curr) => acc & curr);\n 
# Code\n```\n/**\n * @param {number[]} nums\n * @return {number}\n */\nvar maxSubarrays = function (nums) {\n  const AND = nums.reduce((acc, curr) => acc & curr);\n  if (AND > 0) return 1;\n\n  let ans = 0;\n  let curr = null;\n  for (let i = 0; i < nums.length; i++) {\n    curr = curr === null ? nums[i] : curr & nums[i];\n\n    if (curr === 0) {\n      ans++;\n      curr = null;\n    }\n  }\n\n  return ans;\n};\n\n```
['Greedy', 'Bit Manipulation', 'JavaScript']