面试题 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;
    }
}
posted @ 2023-07-26 19:00  网抑云黑胶SVIP用户  阅读(13)  评论(0编辑  收藏  举报