本题难度:
简单
本题思路:
给定一个数组nums和一个整型数k,数组由多个整型数组元素组成,每个数组元素对应一个数组下标,对比各个数组下标的二进制表示中1的个数(及该数组元素的置位值),并判断整型数k是否与其相等,若相等则该数组下标对应的整型数组元素需要加入目标数组元素当中,最终返回这些目标数组元素值的总和即可。
本题代码:
class Solution {
public int sumIndicesWithKSetBits(List<Integer> nums, int k) {
int ans = 0;
for(int i = 0; i < nums.size(); i++){
if(JudgeSet(i, k))
ans += nums.get(i);
}
return ans;
}
private boolean JudgeSet(int i, int k){
int setnumber = 0;
while(i != 0){
if(i%2 == 1)
setnumber++;
i /= 2;
}
if(setnumber == k)
return true;
else
return false;
}
}