首页 > 其他分享 >面试题 10.05. 稀疏数组搜索

面试题 10.05. 稀疏数组搜索

时间:2023-07-26 19:13:15浏览次数:43  
标签:面试题 ball 数组 示例 words 字符串 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;
    }
}

标签:面试题,ball,数组,示例,words,字符串,10.05
From: https://www.cnblogs.com/xiaochaofang/p/17583332.html

相关文章

  • 获取生成数组中的最大值
    给你一个整数n。按下述规则生成一个长度为n+1的数组nums:nums[0]=0nums[1]=1当2<=2*i<=n时,nums[2*i]=nums[i]当2<=2*i+1<=n时,nums[2*i+1]=nums[i]+nums[i+1]返回生成数组nums中的最大值。示例1:输入:n=7输出:3解释:根据......
  • Java中代码Bug记录--泛型失效、数组删除、HashMap死循环
    最近在工作的过程中,遇到了不少奇怪自己或者同事的Bug,都是一些出乎意料的,不太容易发现的,记录一下来帮助可能也遇到了这些Bug的人1.编译时泛型校验失效Map<String,String>nameToType=newHashMap<>();nameToType.put("testName",123);//java:不兼容的类型:int无法转......
  • 树状数组
    【模板】单点修改。时间复杂度O(logn)voidadd(intpos,intw){while(pos<=n){tree[pos]+=w;pos+=lowbit(pos);}} 区间查询。时间复杂度O(logn)返回的是从1到pos的值的和。intquery(intpos){intres(0);whil......
  • 【Java面试题】Spring是如何解决循环依赖问题?
    ......
  • LeetCode 560. 和为 K 的子数组
    classSolution{public:intsubarraySum(vector<int>&nums,intk){intn=nums.size(),res=0;vector<int>s(n+1,0);unordered_map<int,int>hash;//记录端点i之前所有前缀和的出现情况for(inti=1;i<=n;i++)......
  • PHP 数组
    数组能够在单独的变量名中存储一个或多个值。实例数组在单个变量中存储多个值:<?php$cars=array("porsche","BMW","Volvo");echo"Ilike".$cars[0].",".$cars[1]."and".$cars[2].".";?>什么是数组?数组是特殊的变量,它......
  • Java面试题 P5:简述final作用
    1、简述final作用?final含义是最终的。(1)修饰类:表示类不可被继承,不可以有子类;(2)修饰方法:表示方法不可以被子类覆盖,但是可以重载;(3)修饰变量:表示变量一旦被赋值就不可以更改它的值。(4)修饰成员变量如果final修饰的是类变量,只能在静态初始化块中指定初始值或者声明该类变量时指定初......
  • python 固定长度数组
    python固定长度数组在Python中,数组是一种常见的数据结构,用于存储相同类型的元素。通常,我们可以使用列表(List)来表示数组。然而,Python中的列表是可变长度的,这意味着我们可以随时向列表中添加或删除元素。但在某些情况下,我们需要固定长度的数组,即不能增加或删除元素。本文将介绍如何......
  • 【学习笔记】树状数组
    树状数组是一种数据结构,普通树状数组维护的信息及运算要满足结合律且可差分。单点加、区间求和树状数组是用长度为\(n\)的数组存储的。我们假设这个数组为\(n\),令lowbit(i)=i&(-i),则\(c_i\)保存的是向前lowbit(i)长度的\(a\)数组区间和。单点加:从\(i\)开始,修改所......
  • python定义三维数组
    Python定义三维数组在Python中,我们可以使用列表(List)来定义和操作多维数组,包括三维数组。三维数组是指包含多个二维数组的数据结构,它可以用于存储和处理更复杂的数据。什么是三维数组?在计算机科学中,数组是一种数据结构,它由一系列相同类型的元素组成。一维数组是一列元素,二维数组......