leetcode面试题 10.05. 稀疏数组搜索(二分法)
生活随笔
收集整理的這篇文章主要介紹了
leetcode面试题 10.05. 稀疏数组搜索(二分法)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
稀疏數(shù)組搜索。有個(gè)排好序的字符串?dāng)?shù)組,其中散布著一些空字符串,編寫一種方法,找出給定字符串的位置。
示例1:
輸入: words = [“at”, “”, “”, “”, “ball”, “”, “”, “car”, “”, “”,“dad”, “”, “”], s = “ta”
輸出:-1
說明: 不存在返回-1。
代碼
class Solution {public int findString(String[] words, String s) {int n=words.length;int l=0,r=n-1;while (l<=r){int mid=(r-l)/2+l;while (r>=0&&words[r].length()==0) r--;//縮小邊界while (l<n&&words[l].length()==0) l++;if(l<=r){while (mid>=l&&words[mid].length()==0) mid--;//排除空串if(s.equals(words[mid]))//二分查找return mid;else if(s.compareTo(words[mid])>0)l=mid+1;else r=mid-1;}}return -1;} }總結(jié)
以上是生活随笔為你收集整理的leetcode面试题 10.05. 稀疏数组搜索(二分法)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到自己跳海是什么意思
- 下一篇: leetcode911. 在线选举(二分