jersey我使用API检索了 200 条推文。我想找到两条带有longest common substring. 这就是我所拥有的。tweetList是一个ArrayList对象Tweet。comapreTweets方法比较推文对象的最长子字符串。
Tweet t1=new Tweet();Tweet t2=new Tweet();
int longestString=0;
for(int i=0;i<tweetList.size();i++)
{int store=0;Tweet comparer=null;
for(int j=i+1;j<tweetList.size();j++)
{
if(j!=i){
int result=tweetList.get(i).compareTweets(tweetList.get(j));
if(result>store){
store=result;
comparer=tweetList.get(j);
}}
}
if(longestString<store)
{
longestString=store;
t1=tweetList.get(i); t2=comparer;
}
}
如果我检索 200 条推文,那么这将循环大约。40000 次。我需要一种更有效的方法。
编辑
这个循环还以倒序比较相同的推文假设我的tweetList包含{a,b,c,d}; 什么时候i=1和j=3比较是在 之间b & d;当i=3和j=1比较是d & b。如何避免这种情况。
SOLUTION而不是j=0它应该是j=i+1. 它循环了很多19701次。