另一道排列组合题

//给出一个数组 {"1,2,3","4,5,6","7,8,9"} 列出他的如下形式的组合 147 148 149 157 158 159 167 168 169 247 248....
        static void Main(string[] args)
        {
            string[] str = new string[3];
            str[0] = "12,34";
            str[1] = "c,d";
            str[2] = "d,f";
            Matrix m = new Matrix(str[0].Split(','));
            for (int i = 1; i < str.Length; i++)
            {
                m = m.Multiply(new Matrix(str[i].Split(',')));
            }
            foreach (string s in m.element)
            {
                Console.WriteLine(s);
            }
        }
        struct Matrix
        {
            public string[] element;
            public Matrix(string[] s)
            {
                element = s;
            }
            public Matrix Multiply(Matrix m)
            {
                string[] s = new string[this.element.Length * m.element.Length];
                int index = 0;
                for (int i = 0; i < this.element.Length; i++)
                {
                    for (int j = 0; j < m.element.Length; j++)
                    {
                        s[index] = this.element[i] + "," + m.element[j];
                        index++;
                    }
                }
                return new Matrix(s);
            }
      }
posted @   君之蘭  阅读(288)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示