我已經給了一個長句和一些單詞(要在句子中搜索), 我必須找到句子的最小部分,其中包含所有要在該句子中搜索的單詞並打印部分。找到最小的分段
我試過了, 1.首先獲取給定句子中所有單詞的所有位置(索引)。 2.然後嘗試從這些詞的索引中找到最小的部分。
但我有問題實施第二部分。 所以我想要一些建議,或者如果你建議任何其他算法,可以使它快速。
import java.util.*;
import java.io.*;
public class ShotestSubSegment2
{
static SearchStr[] search;
static String copystr;
public static void main(String s[])
{
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String str = in.readLine();
copystr = str.substring(0).toLowerCase();
int k = Integer.parseInt(in.readLine());
search = new SearchStr[k];
for(int i=0;i<k;i++)
{
search[i] = new SearchStr(in.readLine().toLowerCase());
getIndicesOf(search[i]);
if(search[i].noOfElements()==0)
{
System.out.println("No Segments Found");
return;
}
}
searchSmallestPart();//Dont getting Idea Of this
}
catch(Exception x){}
}
public static void getIndicesOf(SearchStr searchS)
{
String searchStr = searchS.getName();
int startIndex = 0, searchStrLen=0;
int index;
searchStr = searchStr.toLowerCase();
searchStrLen = searchStr.length();
while ((index = copystr.indexOf(searchStr, startIndex)) > -1)
{
searchS.add(index);
startIndex = index + searchStrLen;
}
}
}
請粘貼你的代碼和一個例子 –
你有什麼試過?如果這是家庭作業,請用[家庭作業]標記標記。 –
我有一種感覺,它是[作業](http://stackoverflow.com/questions/11224034/finding-sub-strings-of-string-containing-all-the-words-in-array) – Pshemo