가 나는 다음과 같이 주어진 문자열의 모든 문자열을 얻을 수 있습니다 알고있는 문자열의 '반 문자열'모든 문자열과
String inputString = "abcde";
java.util.Set<String> substrings = new java.util.TreeSet<>();
int strLength = inputString.length();
for(int i=0; i<strLength; i++)
for(int j=0; j<=strLength-i; j++)
substrings.add(inputString.substring(i, i+j));
나에게 설정에서 다음과 같은 결과를 얻을 것이다 어떤 :
을a, ab, abc, abcd, abcde, b, bc, bcd, bcde, c, cd, cde, d, de, e,
그러나, 나는 어떻게 든 대신 다음과 같은 목록을 얻으려면 :
a, ab, abc, abcd, abcde, abce, abd, abde, abe, ac, acd, acde, ace, ad, ade, ae, b, bc, bcd, bcde, bce, bd, bde, be, c, cd, cde, ce, d, de, e
그래서 모든 문자열에 추가하여, 그 사이에 하나 또는 여러 개의 문자를 제거하면 문자열이 필요합니다 (예 : ace
을 제거하여 b
및 d
).
가장 쉬운 방법은 무엇입니까?
참고 : 모든 문자는 동일한 순서로 유지되어야합니다. 그렇지 않으면 문자열의 모든 순열을 해당 문자열의 모든 하위 문자열과 결합합니다.
를 사용하여 하나
char[i]
삭제 네 글자 출력을위한 올바른 순서@NikolasCharalambidis 나는 그것을 다시 말할 것이다. 그러나 나는 그것이 내가 찾고있는 결과라는 것을 의미했다. 나는 이것을 성취하는 방법을 모르겠습니다. –