求一字符串数组内任意元素组合起来的所有可能字符串的算法 听说很好解,可惜偶没算法基础,想了快1个小时了无解,请高手帮个忙,谢谢!如 string[] strs = {"X1","X2","X3","X4","X5","X6"};这个算法要能够获取这几个字符串的所有任意组合。多谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下面是我刚回复的一个贴子,跟你的问题差不多,你参考一下吧。http://topic.csdn.net/u/20080119/16/bc1c88fe-3b4c-4495-99e1-7b05166a8875.html http://topic.csdn.net/u/20080115/22/ab03ef9f-d785-41c3-9d83-da6cead94356.html 参考这里(http://dgpck.blogdriver.com/dgpck/1255953.html )的方法,自己写了一个: private static char[] CheckRedLine(int signal){ string redLine = ""; string[] xs = "1,2,3,4,5,6".Split(','); //线 int[] ns = {1,2,4,8,10,20}; //信号 switch(signal){ case 0: break; case 1: redLine = "1"; break; case 2: redLine = "1"; break; case 4: redLine = "3"; break; case 8: redLine = "4"; break; case 10: redLine = "5"; break; case 20: redLine = "6"; break; default://其它数字可能是多条线的组合 ArrayList temps = new ArrayList(); ArrayList ints = new ArrayList(); for(int i=0;i<xs.Length;i++){ ArrayList temp = temps; temps.Add(xs[i]); ints.Add(ns[i]); bool ish = false; for(int j=0;j<temp.Count;j++){ string tempStr = temp[j].ToString() + xs[i]; int tempInt = Int32.Parse(ints[j].ToString()) + ns[i]; if(signal == tempInt){ ish = true; redLine = tempStr; break; } temps.Add(tempStr); } if(ish){ break; } } break; } return redLine.ToCharArray(); } private static char[] CheckRedLine(int signal){ string redLine = ""; string[] xs = "1,2,3,4,5,6".Split(','); //线 int[] ns = {1,2,4,8,10,20}; //信号 switch(signal){ case 0: break; case 1: redLine = "1"; break; case 2: redLine = "1"; break; case 4: redLine = "3"; break; case 8: redLine = "4"; break; case 10: redLine = "5"; break; case 20: redLine = "6"; break; default://其它数字可能是多条线的组合 ArrayList temps = new ArrayList(); ArrayList ints = new ArrayList(); for(int i=0;i<xs.Length;i++){ ArrayList temp = temps; temps.Add(xs[i]); ints.Add(ns[i]); bool ish = false; for(int j=0;j<temp.Count;j++){ string tempStr = temp[j].ToString() + xs[i]; int tempInt = Int32.Parse(ints[j].ToString()) + ns[i]; if(signal == tempInt){ ish = true; redLine = tempStr; break; } temps.Add(tempStr); ints.Add(tempInt); } if(ish){ break; } } break; } return redLine.ToCharArray(); } 哪位高手能提供一个winform下动态加载usercontrol的例子? 江湖救急,新手,oracle连接版本过低 请教一下高手,到底哪里有语法错误 用C#怎样实现屏幕截图 使用Web Service进行文件流的传送,大家什么好的想法? 新手求完善程序 C#des加密 VS下将Webbrowser控件放入form下导致的问题 c#与java的连接 类的继承问题 如果我在.net framework 1.0基础上开发了c#程序,在安装有.net framework 2.0的机器上部署运行时,是否还要求该机器安装framework1.0啊? C#访问SQL
http://topic.csdn.net/u/20080119/16/bc1c88fe-3b4c-4495-99e1-7b05166a8875.html
private static char[] CheckRedLine(int signal){
string redLine = ""; string[] xs = "1,2,3,4,5,6".Split(','); //线
int[] ns = {1,2,4,8,10,20}; //信号 switch(signal){
case 0:
break;
case 1:
redLine = "1";
break;
case 2:
redLine = "1";
break;
case 4:
redLine = "3";
break;
case 8:
redLine = "4";
break;
case 10:
redLine = "5";
break;
case 20:
redLine = "6";
break;
default://其它数字可能是多条线的组合 ArrayList temps = new ArrayList();
ArrayList ints = new ArrayList(); for(int i=0;i<xs.Length;i++){
ArrayList temp = temps; temps.Add(xs[i]);
ints.Add(ns[i]); bool ish = false; for(int j=0;j<temp.Count;j++){ string tempStr = temp[j].ToString() + xs[i]; int tempInt = Int32.Parse(ints[j].ToString()) + ns[i]; if(signal == tempInt){
ish = true;
redLine = tempStr;
break;
} temps.Add(tempStr);
} if(ish){
break;
}
} break;
} return redLine.ToCharArray();
}
string redLine = ""; string[] xs = "1,2,3,4,5,6".Split(','); //线
int[] ns = {1,2,4,8,10,20}; //信号 switch(signal){
case 0:
break;
case 1:
redLine = "1";
break;
case 2:
redLine = "1";
break;
case 4:
redLine = "3";
break;
case 8:
redLine = "4";
break;
case 10:
redLine = "5";
break;
case 20:
redLine = "6";
break;
default://其它数字可能是多条线的组合 ArrayList temps = new ArrayList();
ArrayList ints = new ArrayList(); for(int i=0;i<xs.Length;i++){
ArrayList temp = temps; temps.Add(xs[i]);
ints.Add(ns[i]); bool ish = false; for(int j=0;j<temp.Count;j++){ string tempStr = temp[j].ToString() + xs[i]; int tempInt = Int32.Parse(ints[j].ToString()) + ns[i]; if(signal == tempInt){
ish = true;
redLine = tempStr;
break;
} temps.Add(tempStr);
ints.Add(tempInt);
} if(ish){
break;
}
} break;
} return redLine.ToCharArray();
}