面试题 10.05. 稀疏数组搜索
稀疏数组搜索。有个排好序的字符串数组,其中散布着一些空字符串,编写一种方法,找出给定字符串的位置。
示例1:
输入: words = ["at", "", "", "", "ball", "", "", "car", "", "","dad", "", ""], s = "ta"
输出:-1
说明: 不存在返回-1。
示例2:
输入:words = ["at", "", "", "", "ball", "", "", "car", "", "","dad", "", ""], s = "ball"
输出:4
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/sparse-array-search-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
根据数组有序和字符串特点进行查找
class Solution {
public int findString(String[] words, String s) {
if(s.charAt(0)-'a'<=13){
for(int i=0;i<words.length;i++){
if(s.equals(words[i]))return i;
}
}else{
for(int i=words.length-1;i>=0;i--){
if(s.equals(words[i]))return i;
}
}
return -1;
}
}