면책 조항 :이 문서는 블로거 원본입니다은 허용 블로거없이 복제 할 수 없다. https://blog.csdn.net/iov3Rain/article/details/90414894
제목 설명
두 단어를 주어진 둘 이상의 단어가 포함 된 문서는,이 두 단어의 텍스트 (에서 최단 거리를 찾는 효율적인 알고리즘을 설계하십시오 즉, 따로 단어의 최소 수, 즉, 문서의 두 단어의 위치 차이의 절대 값).
문자열 배열 기사, 주어진 문서의 대표하지만, 단어 n으로 두 개의 단어 x와 y를 찾고 될 주어진 문서 번호를 감안할 때. 두 단어 사이의 최단 거리를 보내 주시기 바랍니다. 문서 단어가 1,000 이하로 계산을 보장하면서, 텍스트에 나타나는 두 단어가 동일하지 않도록합니다.
class Distance {
public:
int getDistance(vector<string> article, int n, string x, string y) {
// write code here
int ans = n - 1;
int posx = -1, posy = -1;
for(int i = 0; i < n; ++i)
{
if(article[i] == x)
{
posx = i;
if(posy != -1)
ans = min(ans, abs(posx - posy));
}
else if(article[i] == y)
{
posy = i;
if(posx != -1)
ans = min(ans, abs(posx - posy));
}
}
return ans;
}
};