diff --git a/Answer23.cpp b/Answer23.cpp new file mode 100644 index 0000000..7fa6ad4 --- /dev/null +++ b/Answer23.cpp @@ -0,0 +1,18 @@ +#include +using namespace std; + +class solution{ + int subarrCountWithGivenXor(vector &arr, int m){ + unordered_map mp; + mp[0] = 1; + int n = arr.size(), count = 0, curSum = 0; + for (int i = 0; i < n; i++) + { + curSum ^= arr[i]; + if (mp[curSum ^ m] > 0) + count += mp[curSum ^ m]; + mp[curSum]++; + } + return count; + } +};