Count disjoint bit pairs
Given `nums` (each in [0, 2^bits)) and the integer `bits`, count the number of unordered pairs of distinct indices (i, j) with i < j such that `nums[i] & nums[j] == 0` (the two values share no set bit). Use the value `bits` as the bit width. There can be repeated values, and 0 pairs with everything (including other zeros).
Implement
count_disjoint_pairs(nums: list[int], bits: int) → intExamples
in
[[0,1,2,3],2]out4What a strong answer looks like
State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.
0:00 of about 35 min
solution.py
InputExpectedGot
[[0,1,2,3],2]4not run yetsample