英文:
breaking down words in different ways in java
问题
我想要以不同的方式创建随字符串而来的单词,具体如下。我不确定如何最好地实现这一点。
输入:Paul Thomas Anderson
输出:Paul Thomas Anderson,P Thomas Anderson,T Anderson,Paul T Anderson,Paul Thomas A,T Anderson,Paul A,Pa Anderson ...
在Java中,最佳且通用的方法是什么?
英文:
I want to create words that come with a string in different ways as follows. I'm not sure how best to do this
input: Paul Thomas Anderson
output: Paul Thomas Anderson, P Thomas Anderson, T Anderson, Paul T Anderson, Paul Thomas A, T Anderson, Paul A, Pa Anderson ...
What would be the best and generic method to do this in java?
答案1
得分: 0
理想情况下,你会希望展示一下你目前为止尝试过的内容。话虽如此,你所写的要求基本如下:
- 将一个句子分解为每个单词
- 生成一个答案元组,由每个单词的组合和/或每个单词的前k个字母组成。
实际上,当你写下 Paul Thomas Anderson
时,你处理的是 k = 单词长度
的特殊情况。
你的答案可能与Java无关,我认为你可能在软件工程Stack Exchange或编程Stack Exchange网站上能得到更好的帮助。
从以下方式开始:
List<List<String>> result = new ArrayList<List<String>>();
String[] words = seed.split(" "); // 这将给出每个单词
for (String word : words){
for (int i = 1; i < word.length(); i++){
String part = word.substring(0,i); // 确保 length-1 实际上是正确的最大值
// 在这里进行保存 - 你需要一个良好的数据结构 - 不确定我的List of List 是否合适
}
}
实际上,你应该参考此帖子中关于集合的笛卡尔积。这将极大地简化你需要做的事情。
英文:
Ideally, you'd want to show what you've tried so far. That being said, the requirement you wrote is essentially as follows:
- take a sentence and break it into each of its words
- generate a tuple of answers made up of a combination of each word and/or the first k letters of each word.
In fact, when you write Paul Thomas Anderson
, you're handling the special case where k = length(word)
.
Your answer is probably not going to be specific to Java and I think you might be better served in the software engineering Stack Exchange or the Programming Stack Exchange sites.
Start with something along the lines of:
List<List<String>>() result = new ArrayList<List<String>>();
String[] words = seed.split(" "); // this will give you each word
for (String word : words){
for (int i = 1; i < word.length(); i++){
String part = word.substring(0,i); // make sure length-1 is actually the right max
// Do the saving here - you need a good structure - not sure my List of List cuts it
}
}
Actually you should refer to this post for the cartesian product of your sets. This will simplify greatly what you need to do.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论