本文主要是介绍网易2020届笔试题--根据2进制1的个数分组,判断能把数分为几组?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
比如输入2组,第一组3个数,输入1 2 3 ,输出2(1,2含有1个1,3含有2个1,所以分为2组)
第二组4个数,输入1 3 5 7 ,输出3(1含有1个1,3和5含有2个1,7含有3个1,所以分为3组)
import java.util.*;public class Main {public static void main(String[] args) {Set<Integer> set = new HashSet<>();List<Integer> list = new ArrayList<Integer>();Scanner sc = new Scanner(System.in);int sampleCount = sc.nextInt();for (int i = 0; i < sampleCount; i++) {set.clear();list.clear();int eleCount = sc.nextInt();for(int k=0;k<eleCount;k++){list.add(sc.nextInt());}for (int j = 0; j < list.size(); j++) {set.add(get1Count(list.get(j)));}System.out.println(set.size());}}private static int get1Count(int x) {int count = 0;while (x != 0) {count++;x = x & (x - 1);}return count;}
}
这篇关于网易2020届笔试题--根据2进制1的个数分组,判断能把数分为几组?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!