热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

求m个数组,每个数组n个元素的组合

有m个数组,每个数组有n个元素。列出所有可能的组合。如:arr1{aa,bb,cc},arr2{11,22,33},得到的组合是:aa11,aa22,aa33,bb11,bb22,bb33,c
有m个数组,每个数组有n个元素。列出所有可能的组合。

如:arr1{aa,bb,cc},arr2{11,22,33},得到的组合是:

aa11,aa22,aa33,bb11,bb22,bb33,cc11,cc22,cc33

数组个数不确定,每个数组的元素也不确定。

10 个解决方案

#1


var query = from a in arr1
            from b in arr2
            select new { a, b };
foreach (var item in query)
{
    Console.WriteLine("{0},{1}", item.a, item.b);
}

#2


数组个数不确定,每个数组的元素也不确定

#3


是啊。

so easy。

#4


可惜CSDN有份文档下载不了,要不然可以解决这个问题

#5


就两行代码,都给你了。。。

#6


你这个数组个数是固定的

#7


arr1{aa,bb,cc},arr2{11,22,33},arr3{aa,bb,cc},arr4{aa,bb,cc}甚至更多,而且每个arr1-4数组里元素个数都是不固定的

#8


哦,以前写过一个

http://topic.csdn.net/u/20110606/13/b41f8542-9996-4494-9bf2-313ac784a44b.html

#9


该回复于2012-07-18 10:16:41被版主删除

#10


   

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string[][] sum = new string[m][];
            Random r = new Random();
            for (int i = 0; i < m; i++)
            {
                sum[i] = new string[n];
                for (int j = 0; j < n; j++)
                {
                    sum[i][j] = r.Next(10).ToString();
                }
            }
            foreach (var s in sum)
            {
                printf(s.ToList());
            }
            fun(new System.Collections.Generic.List(), sum, 0);
        }
    }
    const int m = 5;
    const int n = 5;

 public void fun(System.Collections.Generic.List lst, string[][] str, int index)
    {

        if (index == str.Count())
            printf(lst);
        if (index >= str.Count())
            return;
        foreach (var s in str[index])
        {
            lst.Add(s);
            fun(lst, str, index + 1);
            lst.RemoveAt(lst.Count - 1);
        }
    }
    public void printf(System.Collections.Generic.List lst)
    {
        lst.ForEach(t => Response.Write(t));
        Response.Write("
");
    }

推荐阅读
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
author-avatar
风之淡然1_925
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有