Java || Greedy || Simple solution || Beats 100%
Intuition\nNote that a & b is always less than both numbers a and b \nThus, the min possible sum of scores is the logical AND of all numbers in the array. \nHen
# Intuition\nNote that `a & b` is always less than both numbers `a` and `b` \nThus, the min possible sum of scores is the logical AND of all numbers in the array. \nHence, arrray can only be splitted if the logical AND of all the number in the array is zero. We can use greedy to find the number of such subarrays. \n\n\n# Complexity\n- Time complexity:$$O(n)$$\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:$$O(1)$$\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\n    public int maxSubarrays(int[] nums) {\n        int ind = 0;\n        int count = 0;\n\n        int minSum = Integer.MAX_VALUE;\n\n        //Greedily find the number of subarrays whose score is zero\n        while(ind < nums.length){\n            minSum &= nums[ind];\n            if(minSum == 0){\n                count++;\n                minSum = Integer.MAX_VALUE;\n            }\n            ind++;\n        }   \n        \n        //Array can only be split if the and of all numbers is zero\n        //And of all numbers is zero if count of number of subarrays > 0\n        if(count > 0) return count;\n        else return 1;\n    }\n}\n```
['Array', 'Greedy', 'Bit Manipulation', 'Java']