链接:
2515. 到目标字符串的最短距离
题意:
一个 头尾相接的字符串数组,给一个目标字符串和一个起点,求离起点最近的目标字符串的距离
解:
摇到一道困难题,写了五个小时没写出来,放弃了,摇个简单摆一下
双指针,一个左移一个右移,哪个先指到目标字符串哪个先返回
我这边用的偏移值推出指针,返回偏移值就可以了,可以简化一下反正goleft
和goright
是一样的,懒得改了
因为有两个指针所以只要搜索LG/2
,没找到就是没有
实际代码:
#include<bits/stdc++.h>
using namespace std;
int closetTarget(vector<string>& words, string target, int startIndex)
{
int lg=words.size();
for(int goleft=0,goright=0,i=0;i<lg/2+1;i++)
{
int mao1=(startIndex-goleft+lg)%lg;
if(words[mao1]!=target)goleft++;
else return goleft;
int mao2=(startIndex+goright+lg)%lg;
if(words[mao2]!=target)goright++;
else return goright;
}
return -1;
}
int main()
{
vector<string> words;
int startIndex;cin>>startIndex;
string target;cin>>target;
string temp;
while(cin>>temp)
{
words.push_back(temp);
}
int ans=closetTarget(words,target,startIndex);
cout<<ans<<endl;
return 0;
}
限制:
-
1 <= words.length <= 100
-
1 <= words[i].length <= 100
-
words[i] 和 target 仅由小写英文字母组成
文章来源:https://www.toymoban.com/news/detail-594789.html -
0 <= startIndex < words.length
文章来源地址https://www.toymoban.com/news/detail-594789.html
到了这里,关于2023-07-17力扣今日二题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!