【题目】
稀疏数组搜索。有个排好序的字符串数组,其中散布着一些空字符串,编写一种方法,找出给定字符串的位置。
【示例1】
输入: words = [“at”, “”, “”, “”, “ball”, “”, “”, “car”, “”, “”,“dad”, “”, “”], s = “ta”
输出:-1
说明: 不存在返回-1
【示例2】
输入:words = [“at”, “”, “”, “”, “ball”, “”, “”, “car”, “”, “”,“dad”, “”, “”], s = “ball”
输出:4
【提示】
words的长度在[1, 1000000]之间
【代码】
class Solution {
public:
int findString(vector<string>& words, string s) {
map<string,int> m;
for(int i=0;i<words.size();i++)
m[words[i]]=i;
if(m.count(s)==0)
return -1;
return m[s];
}
};

本文介绍了一种在排好序且包含空字符串的数组中查找指定字符串的方法。通过使用映射来记录非空字符串及其位置,实现了快速定位目标字符串的功能。
450

被折叠的 条评论
为什么被折叠?



