【题目】
稀疏数组搜索。有个排好序的字符串数组,其中散布着一些空字符串,编写一种方法,找出给定字符串的位置。
【示例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];
}
};