class Solution {
public:
int closetTarget(vector<string>& words, string target, int startIndex) {
int n = words.size();
// 创建用于保存找到的位置
vector<int> v;
if (words[startIndex] == target) {
return 0;
}
int i = 0;
while (i < n) {
if (words[i] == target) {
v.push_back(i);
}
i++;
}
if (v.size() == 0) {
return -1;
}
int result = 101;
// 遍历记录的位置,找到距离起始位置最小的一个
for (int j = 0; j < v.size(); j++) {
cout << v[j] << endl;
cout << result << endl;
if (v[j] > startIndex) {
if (min((v[j] - startIndex), (startIndex + n - v[j])) < result) {
result = min((v[j] - startIndex), (startIndex + n - v[j]));
}
}
else {
if (min((startIndex - v[j]), (v[j] + n - startIndex)) < result) {
result = min((startIndex - v[j]), (v[j] + n - startIndex));
}
}
}
return result;
}
};
LeetCode:2515. 到目标字符串的最短距离
最新推荐文章于 2024-10-15 19:28:18 发布