一道关于集合分组并进行笛卡尔积的题目思路

list<string> arrs=new list<string>(){"1_2","1_3","2_3","2_4","3_9","3_11","4_1","4_12"};
dictionary<string,list<string> dics=new dictionary<string,list<string> ();
通过arrs集合里的每个元素下划线前的第一个数字进行分组
for(var s in arrs)
{
   var key=s.Split(‘_‘)[0];
   if(!dics.contains(s.Split(‘_‘)[0]))
   {
         dics.add(key,new list<string>);
   }
   dics.add(key,s)

}

list<string> termList=new list<string>();
int i=0;
for(var dic  in dics)
{
 
   i++;
   if(i==1)
   {
     termlist=dic[0];
     continue;
   }
   for(var i interm)
  {
     list<string> list=new list<string>();
     for(var  j in dic)
    {
        list.add(i+","+"j");  
          
   }
   termlist=list;
  }

}

时间: 2024-11-09 10:52:53

一道关于集合分组并进行笛卡尔积的题目思路的相关文章

List集合分组实现教程

封装一个方法,用一个Map来实现,这里是根据bean类的seq字段进行拆分的,分成好几个list private LinkedHashMap<String,List<HandleInfo>> groupListBySeq(List<HandleInfo> list) { LinkedHashMap<String,List<HandleInfo>> map = new LinkedHashMap<String,List<HandleIn

List集合分组

1 var ArticleList = new Services.Data.SearchService().GetArticleBaseList(ref param); 2 IEnumerable<IGrouping<string, Models.Data.ArticleBase>> Collection = ArticleList.GroupBy(p => p.YearIssue).ToList();//DBYL 3 foreach (IGrouping<string

Java8自定义条件让集合分组

/** * 将一个指定类型对象的集合按照自定义的一个操作分组: 每组对应一个List.最终返回结果类型是:List<List<T>> * * @param <T> */ static class GroupToList<T> implements Collector<T, List<List<T>>, List<List<T>>> { /** * 集合中对象两两比较,满足自定义的条件(operati

集合分组

一,List分组 // 1.java8之前 // 按照Name分组,准备Map,此处使用LinkedHashMap的原因是为了保证后续遍历的时候,按照分组时的add顺序来操作 Map<String,List<Vo>> groupMap = new LinkedHashMap<String,List<Vo>>(); for(Vo groupVo : dataList) { String groupName = groupVo.getGroupName(); /

【BZOJ-2732】集合选数 状压DP (思路题)

2734: [HNOI2012]集合选数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1070  Solved: 623[Submit][Status][Discuss] Description <集合论与图论>这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x 在该子集中,则 2x 和 3x 不能在该子集中.同学们不喜欢这种具有枚举性 质的题目,于是把它变成了以下问题:对于任意一个正整数 n

分享一道我认为非常有思考价值JavaScript题目

这是一道综合性的题目,如果你能快速清晰的分析整理出来,那我相信你对JavaScript是有一定的理解的了.我会先将题目的图片截取出来,供大家思考,在结尾在给出我的分析过程和答案,作个总结. 好,废话不多说啦,我们马上来看看! 好,希望大家现在好好思考一下,result的值会是多少.下面我会给出答案. 我们用node打印一下看看 答案是 -2,亲爱的朋友们,你做对了吗? 下面我将写出我对这题的思路解析,仅供参考噢. 我们直接看到函数调用 partialFn(f, 2) ,这里的意思就是传入两个参数

一道Apple公司(中国)的面试题目

Apple在中国(上海)有公司业务,但是感觉主要是做测试工作的部门,主要是保障Apple的产品质量QE.面试的时候,面试官出了一道题目,我貌似曾今开过类似的题目,但是由于当场发挥不佳没有答出来.题目大意是这样的: 在公司的某个通信协议中存在这样一个场景,甲给乙发送了一个数据帧,这个数据帧最前面的一个字节代表是数据帧的类型(总共四种),只可能为0,1,2,3.甲每次给乙发送一个数据包后,乙要通过自己写程序调用对应数据帧类型的函数来对这个数据帧进行处理.处理函数必须要和帧相对应,不然得不到真确的结果

去除ArrayList集合中重复字符串元素方式_思路:创建新集合方式

import java.util.ArrayList; import java.util.Iterator; public class jh_01_去除ArrayList集合中重复字符串元素方式 { /* * /** * * A:案例演示 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 思路:创建新集合方式 */ public static void main(String[] args) { ArrayList list = new ArrayList(); li

腾讯2011一道父类指针和子类指针转化的题目

class ClassA { public: virtual ~ClassA(){} virtual void FunctionA(){} }; class ClassB { public: virtual void FunctionB(){} }; class ClassC :public ClassA , public ClassB { }; 关于pA,pB,pC的取值,下面的描述中正确的是: A.pA,pB,pC的取值相同. B.pC=pA+pB C.pA,pB不相同 D.pC不等于pA也