我将输入作为int并根据该输入我想要两个字符的组合, 例如我将输入作为 2 并且我有两个字符 x 和 y 所以我想要像这样的组合
xx,yy,xy,yx
如果输入是 3,我想要
xxx,xyy,xxy,xyx,yxx,yyy,yxy.yyx
依此类推,我尝试使用以下代码,
int input1 = 4;
Double totalpossibilities = Math.Pow(2, input1);
string[] PArray = new string[Convert.ToInt16(totalpossibilities)];
char[] chars = new char[] { 'x', 'y'};
for (int i = 0; i < totalpossibilities; i++)
{
string possibility = "" ;
for (int j = 0; j < input1; j++)
{
Random random = new Random();
int r = random.Next(chars.Length);
char randomChar = chars[r];
possibility = possibility + randomChar;
}
if (PArray.Contains(possibility))
{
i--;
}
else
PArray[i] = possibility;
}
但是你可以看到我使用的是随机函数所以我完成的时间太长了,有什么不同的逻辑吗?