《Cracking the Coding Interview程序员面试金典》----单词最近距离

来源:互联网 发布:淘宝店铺模板怎么上传 编辑:程序博客网 时间:2024/06/03 17:13
时间限制:3秒 空间限制:32768K 热度指数:610
本题知识点: 查找 字符串
 算法知识视频讲解

题目描述

有一篇文章内含多个单词,现给定两个单词,请设计一个高效算法,找出文中这两个单词的最短距离(即最少相隔的单词数,也就是两个单词在文章中位置的差的绝对值)。

给定一个string数组article,代表所给文章,同时给定文章的单词数n和待查找的两个单词xy。请返回两个单词的最短距离。保证两个单词均在文中出现且不相同,同时保证文章单词数小于等于1000。



代码如下:

class Distance {public:    int getDistance(vector<string> article, int n, string x, string y) {        int px=0,py=0,result=n;        for(int i=0;i<n;i++){            if(article[i]==x)                px=i;                           else if(article[i]==y)                py=i;            if(px!=0&&py!=0)//确保x和y都至少找到了一个。            result=min(abs(px-py),result);                     }        return result;    }};

不懂的可以加我的QQ群:261035036(IT程序员面试宝典

群) 欢迎你到来哦,看了博文给点脚印呗,谢谢啦~~



0 0
原创粉丝点击