Count the Number of Beautiful Subarrays
medium · verified · 53.4% accepted · 560 likes · top 44%
array · hash table · bit manipulation · prefix sum
Description
You are given a 0-indexed integer array nums. In one operation, you can:
- Choose two different indices i and j such that 0 <= i, j < nums.length.
- Choose a non-negative integer k such that the kth bit (0-indexed) in the binary representation of nums[i] and nums[j] is 1.
- Subtract 2k from nums[i] and nums[j].
A subarray is beautiful if it is possible to make all of its elements equal to 0 after applying the above operation any number of times (including zero).
Return the number of beautiful subarrays in the array nums.
A subarray is a contiguous non-empty sequence of elements within an array.
Note: Subarrays where all elements are initially 0 are considered beautiful, as no operation is needed.
Example 1:
Example 2:
Solution