0
点赞
收藏
分享

微信扫一扫

「 每日一练,快乐水题 」面试题 17.11. 单词距离


文章目录

  • ​​🔴力扣原题:​​
  • ​​🟠题目简述:​​
  • ​​🟡解题思路:​​
  • ​​🟢C++代码:​​
  • ​​🔵结果展示:​​

🔴力扣原题:

​​面试题 17.11. 单词距离​​

🟠题目简述:

有个内含单词的超大文本文件,给定任意两个不同的单词,找出在这个文件中这两个单词的最短距离(相隔单词数)。如果寻找过程在这个文件中会重复多次,而每次寻找的单词不同,你能对此优化吗?

🟡解题思路:

  1. 一次遍历;
  2. 每次计算差值,取最小差值;
  3. over;

🟢C++代码:

class Solution {
public:
int findClosest(vector<string>& words, string word1, string word2) {
int ans = INT_MAX;
int i1 = -1, i2 = -1;

int n = words.size();

for(int i = 0; i < n; i++)
{
if(words[i] == word1)
{
i1 = i;
}else if (words[i] == word2)
{
i2 = i;
}

if(i1 != -1 && i2 != -1)
{
ans = min(ans,abs(i2 - i1));
}
}

return ans;

}
};

🔵结果展示:

「 每日一练,快乐水题 」面试题 17.11. 单词距离_leetcode


举报

相关推荐

0 条评论