나는 우리가 같은 모든 가능한 세 쌍의 단어를 얻을 수있는 방법자바에서 문자열에 가능한 모든 세 단어를 효율적으로 생성하는 방법은 무엇입니까?
string[] word = {"a", "good", "boy", "lives, here"}
같은 문자열의 배열로있는 경우 : 현재
("a", "good", "boy")
("a", "good", "lives")
("a", "lives", "here")
("good", "boy", "lives")
("good", "lives", "here")
("boy","lives", "here")
, 나는 세 가지 루프
for (int i = 0; i < word.length - 2; i++) {
for (int j = i+1; j < word.length - 1; j++) {
for (int k = j+1; k < word.length ; k++) {
....
.....
을 사용하고있는 중이 야 어떻게하면 더 효율적으로 할 수 있습니까?
왜 이것이 효율적이지 않다고 생각하십니까? 가능한 조합을 정확히 한 번 생성하고 있습니다 ... – Imus
배열의 모든 요소에 대한 순열이 필요합니다. 당신은 http://www.geeksforgeeks.org/write-ac-program-to-print-all-permutations-of-a-given-string/을 볼 수 있습니다. 이것은 문자열의 순열에 관한 것입니다. 배열 및 예 다른 코드에서 언급 한 코드가 너무 잘 맞습니다. –
이 문자열 배열 대신 큰 텍스트 문서를 처리한다면 어떨까요? 저는 20K 라인의 텍스트를 말하고 각 라인에서 가능한 모든 3 단어를 찾는 것처럼 많은 양의 텍스트 라인을 처리하는보다 효율적인 방법을 찾고있었습니다. –