如果我有一個7字字符串(I like it when it rains hard
),我想打印它的每一個變化是打印字符串的所有變種最有效的方法?
- a)大於兩個字
和
- B)不改變原始的詞序。
如何最好地做到這一點?我將在下面打印我的最終目標是什麼:
I like it when it rains hard
I like it when it rains
I like it when it
I like it when
I like it
I like
like it when it rains hard
like it when it rains
like it when it
like it when
like it
it when it rains hard
it when it rains
it when it
it when
when it rains hard
when it rains
when it
it rains hard
it rains
rains hard
我的計劃幾乎是實現這一目標,但並不完全,我不知道是否有解決它比我有一個更聰明的方式...?
//Strings.java
//Goal: to print out each possible version of data without changing the original
//order and without printing strings of less than 2 words.
public class Strings {
public static void main (String[] args) {
String var = " ";
String data = "I like it when it rains hard";
String [] s = data.split(" ");
for (int i = 0 ; i <= s.length-1 ; i++) { //inner
for (int j = s.length-1 ; j >= 1 ; j--) { //outer
for (int num = i ; num <= j ; num++) {
var += s[num] + " ";
}
System.out.println(var);
var = " ";
}
}
}
}
最有效的方面是什麼? CPU使用率?內存使用情況? Cookie消費? – Patrick 2014-09-24 08:42:18
您聲明您的解決方案「不完全」。爲什麼當前的解決方案無法按預期工作? – Patrick 2014-09-24 08:46:36
@TheLostMind:是的,但在這種情況下,我可能會認爲,而不是讓讀者猜測。 :-) – Patrick 2014-09-24 08:48:01