에서 최근의 단어

면책 조항 :이 문서는 블로거 원본입니다은 허용 블로거없이 복제 할 수 없다. 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;
    }
};

 

추천

출처blog.csdn.net/iov3Rain/article/details/90414894