俱乐部会员,老人带新人,统计有几个群组,会员最多的群组。
int[] n1 = {1,2};
int [] n2 = {2,3};
int [] n3 = {1,3};
int [] n4 = {4,5};
int [] n5 = {3,6};
int [] n6 = {5,7};
int [] n7 = {1,7};
List<int[]> allList = new ArrayList<int[]>();
public void init(){
allList.add(n1);
allList.add(n2);
allList.add(n3);
allList.add(n4);
allList.add(n5);
allList.add(n6);
allList.add(n7);
}
public List<List<Integer>> getList3s(List<List<Integer>> list2s){
List<List<Integer>> resList = new ArrayList<List<Integer>>();
for(int i=0;i<list2s.size(); i++){
List<Integer> list3 = new ArrayList<Integer>();
list3.addAll(list2s.get(i));
for(int j=1;j<list2s.get(i).size();j++){
List<Integer> list31 = combineList2s(list2s,list2s.get(i).get(j));
list3.addAll(list31);
}
list3 = removeSame(list3);
resList.add(list3);
}
return resList;
}
public List<Integer> combineList2s(List<List<Integer>> list2s,int num){
List<Integer> list3 = new ArrayList<Integer>();
for(int i=0;i<list2s.size(); ){
if(list2s.get(i).get(0)==num){
list3.addAll(list2s.get(i));
list2s.remove(list2s.get(i));
}
else{
i++;
}
}
list3 = removeSame(list3);
return list3;
}
public void printLists (List<List<Integer>> lists){
for(int i=0;i<lists.size();i++){
for(int j=0;j<lists.get(i).size();j++){
System.out.print(lists.get(i).get(j));
}
System.out.println();
}
}
public List<List<Integer>> getList2s(){
List<List<Integer>> list2s = new ArrayList<List<Integer>>();
int currentNum = -1;
for(int i=0;i<allList.size();){
if(allList.get(i)[0]!=currentNum){
currentNum = allList.get(i)[0];
List<Integer> list2 = new ArrayList<Integer>();
list2 = getNumList(allList,currentNum);
list2s.add(list2);
}
}
return list2s;
}
public List<Integer> removeSame(List<Integer> list2){
List<Integer> list2nosame = new ArrayList<Integer>();
Set<Integer> set = new HashSet<Integer>(list2);
Iterator<Integer> it = set.iterator();
while(it.hasNext()){
list2nosame.add(it.next());
}
return list2nosame;
}
public List<Integer> combineNum(List<int[]> li){
List<Integer> list2 = new ArrayList<Integer>();
list2.add(li.get(0)[0]);
for(int i=0;i<li.size();i++){
list2.add(li.get(i)[1]);
}
return list2;
}
public List<Integer> getNumList(List<int[]> srcli,int num){
List<int[]> resList = new ArrayList<int[]>();
for(int i=0;i<srcli.size();i++){
if(srcli.get(i)[0]==num){
resList.add(srcli.get(i));
srcli.remove(i);
}
}
List<Integer> list2 = combineNum(resList);
return list2;
}
public boolean hasNums(int[] nums,int num){
for(int i=0;i<nums.length;i++){
if(nums[i]==num){
return true;
}
}
return false;
}