多个数组把里面的元素进行组合 示例如下

.Net技术 码拜 9年前 (2016-03-01) 747次浏览
 [1,2,5,4],[2,3],[7,8,6]假设三个数组  要组合成127,128,126,227这样的组合 算法写不出来 请各位高手帮帮忙 看下
解决方案

5

假如有顺序的话,可以参考矩阵连乘算法。
例如[1,2,5,4],[2,3],[7,8,6],,先合并[1,2,5,4],[2,3],得到4*2=8个元素[12,13,22,23,52,53,42,43],再把[12,13,22,23,52,53,42,43]和[7,8,6]合并得到8*3=24个元素。假如要求去重,就用集合定义数组。否则直接遍历。
要做的只是,定义一个 Set  merge(Set a,Set b){ 合并a和b,返回结果集c}。
然后对输入集合a,b,c,依次调用merge函数。

5

for i
for j
string.join(“”, arr[i][j])

90

其实可以把它当成一个练习。当你能写出本人组合,编程技术就会提高一步。

// 用linq作的方示
using System;
using System.Linq;
class Program
{
    static void Main(string[] args)
    {
        int[] a = { 1, 2, 5, 4 };
        int[] b = { 2, 3 };
        int[] c = { 7, 8, 6 };
        var ps = from i in a
                    from j in b
                    from k in c
                    select i + "" + j + "" + k;
        foreach (var p in ps)
        {
            Console.WriteLine(p);
        }
    }
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明多个数组把里面的元素进行组合 示例如下
喜欢 (0)
[1034331897@qq.com]
分享 (0)