程序员面试金典 - 面试题 10.05. 稀疏数组搜索(二分查找)
生活随笔
收集整理的這篇文章主要介紹了
程序员面试金典 - 面试题 10.05. 稀疏数组搜索(二分查找)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目
稀疏數(shù)組搜索。有個(gè)排好序的字符串?dāng)?shù)組,其中散布著一些空字符串,編寫一種方法,找出給定字符串的位置。
示例1:輸入: words = ["at", "", "", "", "ball", "", "", "car", "", "","dad", "", ""], s = "ta"輸出:-1說明: 不存在返回-1。示例2:輸入:words = ["at", "", "", "", "ball", "", "", "car", "", "","dad", "", ""], s = "ball"輸出:4提示: words的長度在[1, 1000000]之間來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/sparse-array-search-lcci
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 解題
- 將非空字符串和其序號,存起來
- 二分查找字符串,返回其序號
- 上面畫蛇添足了,直接遍歷過一遍了,還二分查找。。
- 直接二分查找如下:需要對空字符串進(jìn)行處理跳過,mid 也是挪至非空處
總結(jié)
以上是生活随笔為你收集整理的程序员面试金典 - 面试题 10.05. 稀疏数组搜索(二分查找)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 33. 搜索旋转排序数
- 下一篇: LeetCode 652. 寻找重复的子