JAVA O(N) SOLUTION
\n# Code\n\nclass Solution {\n    public int maxSubarrays(int[] nums) {\n        int prev = nums[0];\n        for (int i = 1; i < nums.length; i++) {\n         
\n# Code\n```\nclass Solution {\n    public int maxSubarrays(int[] nums) {\n        int prev = nums[0];\n        for (int i = 1; i < nums.length; i++) {\n            prev &= nums[i];\n        }\n        int min = prev;\n        int cnt = 0;\n        prev = nums[0];\n        for (int i = 1; i < nums.length; i++) {\n            if (prev == min) {\n                cnt++;\n                prev = nums[i];\n            } \n            prev = (prev & nums[i]);\n        }\n        if (prev == min) cnt++;\n        if (cnt * min > min) return 1;\n        return cnt == 0 ? 1 : cnt;\n    }\n}\n```
['Java']