我正在尝试创建一个数据结构,用于存储所有可能的子字符串组合,这些组合加起来等于原始字符串。例如,如果字符串是
我很容易找到了所有可能的子字符串。
"java"
,则有效的结果将是"j", "ava"
,"ja", "v", "a"
,无效的结果将是"ja", "a"
或"a", "jav"
。我很容易找到了所有可能的子字符串。
String string = "java";
List<String> substrings = new ArrayList<>();
for( int c = 0 ; c < string.length() ; c++ )
{
for( int i = 1 ; i <= string.length() - c ; i++ )
{
String sub = string.substring(c, c+i);
substrings.add(sub);
}
}
System.out.println(substrings);
现在我正在尝试构建一个仅包含有效子字符串的结构。但这并不容易。我正处于非常丑陋的代码中,摆弄索引,离完成还差得远,很可能完全走错了方向。有什么提示吗?
Set<List<String>>
,但它甚至可以是一个二维数组,我的问题在于逻辑,如何找到合适的子字符串。 - learnAndImprove