实现指定判断一个数的二进制的某一位
样例题目:按位与结果大于零的最长组合
//计算从低到高第K个二进制位数值位1的元素个数
public int maxlen(int[] candidates, int k) {
int res = 0;
for (int num : candidates) {
//(1 << k)只有指定来判断num二进制位,很巧妙。
if ((num & (1 << k)) != 0) {
res++;
}
}
return res;
}
public int largestCombination(int[] candidates) {
int res = 0;
for (int i = 0; i < 24; i++) {
//遍历二进制位
res = Math.max(res, maxlen(candidates, i));
}
return res;
}
}