《Cracking the Coding Interview程序员面试金典》----单词最近距离
2017-05-03 21:47
281 查看
时间限制:3秒 空间限制:32768K 热度指数:610
本题知识点: 查找 字符串
算法知识视频讲解
有一篇文章内含多个单词,现给定两个单词,请设计一个高效算法,找出文中这两个单词的最短距离(即最少相隔的单词数,也就是两个单词在文章中位置的差的绝对值)。
给定一个string数组article,代表所给文章,同时给定文章的单词数n和待查找的两个单词x和y。请返回两个单词的最短距离。保证两个单词均在文中出现且不相同,同时保证文章单词数小于等于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程序员面试宝典
群) 欢迎你的到来哦,看了博文给点脚印呗,谢谢啦~~
本题知识点: 查找 字符串
算法知识视频讲解
题目描述
有一篇文章内含多个单词,现给定两个单词,请设计一个高效算法,找出文中这两个单词的最短距离(即最少相隔的单词数,也就是两个单词在文章中位置的差的绝对值)。给定一个string数组article,代表所给文章,同时给定文章的单词数n和待查找的两个单词x和y。请返回两个单词的最短距离。保证两个单词均在文中出现且不相同,同时保证文章单词数小于等于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程序员面试宝典
群) 欢迎你的到来哦,看了博文给点脚印呗,谢谢啦~~
相关文章推荐
- 单词的最近距离
- 程序员面试金典:另类加法、单词最近距离
- [CTCI] 单词最近距离
- 程序员面试金典——单词最近距离
- 单词最近距离
- 单词最近距离
- [NLP自然语言处理]读取UTF8字符并实现汉字和单词的识别,计算熵和KL距离
- 一棵排序二叉树,令 f=(最大值+最小值)/2,设计一个算法,找出距离f值最近、大于f值的结点。 复杂度如果是O(n2)则不得分。
- LeetCode 244. Shortest Word Distance II(最短单词距离)
- 如何计算点到线段的最近距离
- 分治法:求解一个乱序数组中距离最近的两个数
- 【K-D树 在限制条件下求最近欧几里德距离】HDU - 5992 Finding Hotels
- 计算几何 平面最近点对 nlogn分治算法 求平面中距离最近的两点
- POJ3608(旋转卡壳--求两凸包的最近点对距离)
- Python基于动态规划算法计算单词距离
- 已知三维空间两条直线,如何计算两条直线距离最近的位置的中点
- 判断距离自己最近的点
- 圆周率,孪生素数,反转串,最近距离,基因牛,迷宫问题(2011年蓝桥杯预赛java本科组试题)
- 最近距离 已知平面上的若干点的位置,存入一个List中。现在需要计算所有这些点中,距离最近的两个点间的最小距离
- 寻找距离某数最近的素数(C语言)