Deloitte | COGNIZANT | IBM | CAPGEMINI
def getKthMaximumORSum(arr, k):
from collections import Counter
n = len(arr)
count_map = Counter()
current_ors = Counter()
for x in arr:
new_ors = Counter()
for val, count in current_ors.items():
new_ors[val | x] += count
new_ors[x] += 1
for val, count in new_ors.items():
count_map[val] += count
current_ors = new_ors
sorted_sums = sorted(count_map.keys(), reverse=True)
for val in sorted_sums:
count = count_map[val]
if k <= count:
return val
k -= count
return -1
getKthMaximumORSum✅✅
1.7K ·