문제
왜 이것이 올바른 수의 문자열 순열을 생성하지 않습니까? 을 위한
perm("ABC", 3)
27 개의 다른 순열을 인쇄해야합니다.
private static List<string> permutated = new List<string>(30000);
public static List<string> perm(string s, int k) { return comb(s, "", k); }
private static List<string> perm(string s, string prefix, int k)
{
if (k == 0)
{
permutated.Add(prefix);
}
else
{
for (int i = 0; i < s.Length; i++)
{
perm( s.Substring( i + 1 ), prefix + s[i], k - 1 );
}
}
return permutated;
}
제휴하지 않습니다 StackOverflow