劍指Offer之Java算法習(xí)題精講數(shù)組查找與字符串交集
題目一
數(shù)組題——二分查找法
寫(xiě)一個(gè)函數(shù)查找給定的數(shù)組中指定的數(shù)值
具體題目如下

?解法
class Solution {
public int search(int[] nums, int target) {
int left = 0;
int right = nums.length - 1;
while(left<=right){
int mid = left+(right-left)/2;
if(nums[mid]==target){
return mid;
}else if(nums[mid]>target){
right = mid - 1;
}else if(nums[mid]<target){
left = mid + 1;
}
}
return -1;
}
}
題目二
數(shù)組題——查找數(shù)組中元素位置
根據(jù)給定的數(shù)組按照指定條件查找首尾元素位置
具體題目如下

?解法:
class Solution {
public int[] searchRange(int[] nums, int target) {
int[] res = {-1,-1};
int left = 0;
int right = nums.length-1;
while(left<=right){
int mid = left+(right-left)/2;
if(nums[mid] == target){
res[0] = mid;
right = mid-1;
}else if(nums[mid]>target){
right = mid - 1;
}else if(nums[mid]<target){
left = mid+1;
}
}
left = 0;
right = nums.length-1;
while(left<=right){
int mid = left+(right-left)/2;
if(nums[mid] == target){
res[1] = mid;
left = mid+1;
}else if(nums[mid]>target){
right = mid - 1;
}else if(nums[mid]<target){
left = mid+1;
}
}
return res;
}
}
題目三
字符串題——查找字符串交集
根據(jù)給定的字符串按照指定條件查找一個(gè)字符串所涵蓋的另一個(gè)字符串字符的最小子串
具體題目如下

解法
class Solution {
public String minWindow(String s, String t) {
if(s == null || s == "" || t == null || t == "" || s.length() < t.length()){
return "";
}
int[] need = new int[128];
int[] have = new int[128];
for (int i = 0; i < t.length(); i++) {
need[t.charAt(i)]++;
}
int left = 0, right = 0;
int min = s.length() + 1, count = 0, start = 0;
while (right < s.length()){
char r = s.charAt(right);
if (need[r] == 0) {
right++;
continue;
}
if (have[r] < need[r]) {
count++;
}
have[r]++;
right++;
while (count == t.length()){
if (right - left < min) {
min = right - left;
start = left;
}
char l = s.charAt(left);
if (need[l] == 0) {
left++;
continue;
}
if (have[l] == need[l]) {
count--;
}
have[l]--;
left++;
}
}
if (min == s.length() + 1) {
return "";
}
return s.substring(start, start + min);
}
}
到此這篇關(guān)于劍指Offer之Java算法習(xí)題精講數(shù)組查找與字符串交集的文章就介紹到這了,更多相關(guān)Java 數(shù)組查找內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 劍指Offer之Java算法習(xí)題精講鏈表與字符串及數(shù)組
- 劍指Offer之Java算法習(xí)題精講數(shù)組與字符串題
- 劍指Offer之Java算法習(xí)題精講N叉樹(shù)的遍歷及數(shù)組與字符串
- 劍指Offer之Java算法習(xí)題精講數(shù)組與字符串
- 劍指Offer之Java算法習(xí)題精講數(shù)組與列表的查找及字符串轉(zhuǎn)換
- 劍指Offer之Java算法習(xí)題精講字符串操作與數(shù)組及二叉搜索樹(shù)
- 關(guān)于java數(shù)組與字符串相互轉(zhuǎn)換的問(wèn)題
- java 字符串轉(zhuǎn)化為字符數(shù)組的3種實(shí)現(xiàn)案例
- Java數(shù)組與字符串深入探索使用方法
相關(guān)文章
mall整合SpringTask實(shí)現(xiàn)定時(shí)任務(wù)的方法示例
這篇文章主要介紹了mall整合SpringTask實(shí)現(xiàn)定時(shí)任務(wù)的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
Maven一鍵部署Springboot到Docker倉(cāng)庫(kù)為自動(dòng)化做準(zhǔn)備(推薦)
這篇文章主要介紹了Maven一鍵部署Springboot到Docker倉(cāng)庫(kù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
Spring Boot 中的 @ConditionalOnBean 注解作用及基
在 Spring Boot 中,@ConditionalOnBean 可以幫助我們根據(jù) 是否存在特定 Bean 來(lái) 動(dòng)態(tài)注冊(cè) Bean,廣泛用于 按需加載、自動(dòng)配置 等場(chǎng)景,本文給大家介紹Spring Boot 中的 @ConditionalOnBean 注解,感興趣的朋友一起看看吧2025-04-04
mybatis自定義參數(shù)類型轉(zhuǎn)換器數(shù)據(jù)庫(kù)字段加密脫敏
這篇文章主要為大家介紹了mybatis自定義參數(shù)類型轉(zhuǎn)換器數(shù)據(jù)庫(kù)字段加密脫敏,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Spring Boot中自動(dòng)化配置的利弊以及解決方法
這篇文章主要給大家介紹了關(guān)于Spring Boot中自動(dòng)化配置的利弊以及解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-08-08
java實(shí)現(xiàn)超市商品庫(kù)存管理平臺(tái)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)超市商品庫(kù)存管理平臺(tái),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
關(guān)于MyBaties的基本配置標(biāo)簽總結(jié)
今天給大家?guī)?lái)的是關(guān)于MyBaties基礎(chǔ)的相關(guān)知識(shí),文章圍繞著MyBaties的基本配置標(biāo)簽展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Java創(chuàng)建數(shù)組的幾種方式總結(jié)
下面小編就為大家?guī)?lái)一篇Java創(chuàng)建數(shù)組的幾種方式總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10

