计算K置位下标对应元素的和
解题思路
- 对每个下标进行位运算,求得二进制位1的个数,与k进行比较
- 如果相等,证明该元素符合题目要求的值
- 对所有满足要求的值进行累加即可
class Solution {
public:
int sumIndicesWithKSetBits(vector<int>& nums, int k) {
long ans=0;
for(int i = 0;i<nums.size();i++){
int temp = i;
int sum=0;
while(temp){
if(temp & 1) sum++;
temp= temp >> 1;
}
if(sum == k){
ans = ans + nums[i];
}
}
return ans;
}
};