Professional Documents
Culture Documents
exponent += 1
pow_2 *= 2
return set_bits
n = len(nums)
total_subarray_count = n * (n + 1) // 2
nonzero_subarray_count = 0
window_bit_counts = Counter()
window_bit_counts += Counter(get_set_bit_indices(right_element))
while (left_idx < right_idx
and is_bitwise_and_zero(right_idx - left_idx + 1, window_bit_counts)):
window_bit_counts -= Counter(get_set_bit_indices(nums[left_idx]))
left_idx += 1
perfect_sum(arr, s, result) :
x = [0]*len(arr)
j = len(arr) – 1
while (s > 0) :
x[j] = s % 2
s = s // 2
j -= 1
sum = 0
for i in range(len(arr)) :
if (x[i] == 1) :
sum += arr[i]
if (sum == result) :
print(“{“,end=””);
for i in range(len(arr)) :
if (x[i] == 1) :
print(arr[i],end= “, “);
print(“}, “,end=””)
def print_subset(arr, K) :
x = pow(2, len(arr))
for i in range(1, x):
perfect_sum(arr, i, K)
# Driver code
arr = [ ]
n = int(input(“Enter length of array : “))
s=int(input(“Enter sum : “))
for i in range(n):
ele=int(input(“Enter element : “))
arr.append(ele)
print_subset(arr, s)
Find all subarray index ranges in given Array with set bit sum equal to X
Given an array arr (1-based indexing) of length N and an integer X, the task is to find and print all index ranges
having a set bit sum equal to X in the array.
Examples:
Solution :
# Calculate xor of
xoR = 0;
# Return twice of
# xor value
return xoR * 2
# Driver code
arr = [ 1, 5, 6 ]
n = len(arr)
print(findXor(arr, n))
Solution 2:
Sum = 0
# multiplier
mul = 1
for i in range(30):
c_odd = 0
odd = 0
for j in range(n):
odd = (~odd)
if (odd):
c_odd += 1
for j in range(n):
c_odd = (n - j - c_odd)
mul *= 2
return Sum
n = len(arr)
print(findXorSum(arr, n))
#include<iostream>
#include<unordered_map>
#include<string>
#include<math.h>
using namespace std;
int ans(string s){
unordered_map map;
for(int i =0; i map[s[i]]){
}}
return val; }
int main() {
string s;
cin>>s;
cout<< ans(s);
return 0; }
val = map[s[i]];
key = map[s[i]];
C++
Solution :
large, index = 0, 0
for i in range(n):
large = arr[i]
index = i
return index
def countSteps(arr, n):
index = findMax(arr, n)
steps = 1
while index != 0:
steps += 1
return steps
if __name__ == "__main__":
n = len(arr)
def getMaxToys(n,arr,money):
L,H=0,n-1
while(L<=H):
if(sum(arr[L:H+1])<=money):
break
else:
if arr[L]>arr[H]:
L+=1
else:
H-=1
return (H-L+1)
n=int(input())
arr=[]
for i in range(n):
arr.append(int(input()))
money=int(input())
print(getMaxToys(n,arr,money))
max = 4
if (index == n) :
if (cnt == k):
return 1
else:
return 0
# If already calculated
if (dp[index][cnt] != -1):
return dp[index][cnt]
ans = 0
cnt + 1, dp, n, m, k)
dp[index][cnt] = ans
return dp[index][cnt]
# Driver Code
if __name__ == "__main__":
n=3
m=3
k=2
for y in range(max)]
perfect_sum(arr, s, result) :
x = [0]*len(arr)
j = len(arr) – 1
while (s > 0) :
x[j] = s % 2
s = s // 2
j -= 1
sum = 0
for i in range(len(arr)) :
if (x[i] == 1) :
sum += arr[i]
if (sum == result) :
print(“{“,end=””);
for i in range(len(arr)) :
if (x[i] == 1) :
print(arr[i],end= “, “);
print(“}, “,end=””)
def print_subset(arr, K) :
x = pow(2, len(arr))
for i in range(1, x):
perfect_sum(arr, i, K)
# Driver code
arr = [ ]
n = int(input(“Enter length of array : “))
s=int(input(“Enter sum : “))
for i in range(n):
ele=int(input(“Enter element : “))
arr.append(ele)
print_subset(arr, s)
Python