순열 알고리즘을 작성하는 방법을 이해하는 데 도움이 필요합니다. (이것이 순열이라면, 그들은 순서대로 있어야하고 같은 값을 사용해야한다).문자열 목록 순열 알고리즘
List<string> str = new List<string>{"a", "b", "c", "d"};
이 목록에서 사용 가능한 각 순열의 목록을 어떻게 얻을 수 있습니까? 예를 들면.
a, b, c, d
ab, c, d
ab, cd
abc, d
abcd
a, bc, d
a, bcd
-
a, b, cd
어떤 이유로 나는 처음부터 패턴을 찾을 수 없습니다. 또한 조인 된 문자열에 X 문자와 같은 개수가있는 경우 순열을 무시할 수 있기를 바랍니다. 그래서 X가 4라면, 그 목록에서 5가 존재하지 않을 것이고 7 개의 순열이있을 것입니다.
private List<string> permute(List<string> values, int maxPermutation)
{
//alittle help on starting it would be great :)
}
나는 this을보고 읽었지만 순서를 유지하지 않습니다.
이것은 순열 문제입니까? –
"숙제"태그를 추가해야합니까? – MartinStettner
[이 질문과 유사] (http://stackoverflow.com/questions/9050719/how-to-count-total-no-of-possible-combinations-of-a-string-using-c) 동시. –