zoukankan      html  css  js  c++  java
  • 多选题答案组合算法

    这两天要做一个多选题答案的库 ,本来想着从网上当点算法下来的,找了找没什么合适的,就自己写了个:答案选项是3-8个,
     
    const string charlist = "ABCDEFGH";
            List<string> list = new List<string>();
            public string GetMulChooseAnsList()
            {
                StringBuilder sql = new StringBuilder("");
                for (int i = 3; i <=8; i++)
                {
                    //int i = 4;
     
                    for (int j = 0; j < i; j++)
                    {
                        //答案为两个个选项的情况
     
                        string basestr = charlist[j].ToString();
                        for (int n = j + 1; n < i; n++)
                        {
                            if (basestr.IndexOf(charlist[n]) >= 0)
                            {
                                continue;
                            }
                            string tmp = basestr + charlist[n].ToString();                     list.Add(tmp);
                            Recursive(tmp, n,i);                    
                        }
                    }
                }
                return sql.ToString();
            }
     
     
            public void Recursive(string bastr,int n,int currentnum)
            {
                if (n > currentnum) return ;
                string tmp = "";
                for (int i = n + 1; i <currentnum; i++)
                {
                    tmp = bastr + charlist[i].ToString();
                    list.Add(tmp);
                    Recursive(tmp, i, currentnum);
                
                }
     
                return ;
            }
  • 相关阅读:
    剑指21.栈的压入、弹出序列
    剑指20.包含min函数的栈
    剑指19.顺时针打印矩阵
    Java--使用反编译工具,打开jar包,查看源码
    没想到 Unicode 字符还能这样玩?
    angularjs中响应回车事件
    两个很好的angular调试工具-——batarang(stable)和ng-inspector
    基于 ThinkPHP5 的 cltphp 被搜索劫持,篡改首页的解决过程记录
    国内外CDN服务商CNAME特征串调研
    开源中国/码云 README.md上传图片的爬坑记录
  • 原文地址:https://www.cnblogs.com/huanglin101/p/5953161.html
Copyright © 2011-2022 走看看