欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

LeetCode程序員面試題之無重復字符的最長子串

 更新時間:2023年02月05日 09:32:40   作者:97的風  
Java計算無重復字符的最長子串是一種常見的字符串處理算法,它的目的是找出一個字符串中無重復字符的最長子串。該算法可以很好地解決一些字符串處理問題,比如尋找字符串中重復字符的位置,以及計算字符串中無重復字符的最長子串的長度。

1.簡述:

給定一個字符串 s ,請你找出其中不含有重復字符的 最長子串 的長度。

示例 1:

輸入: s = "abcabcbb"

輸出: 3

解釋: 因為無重復字符的最長子串是 "abc",所以其長度為 3。

示例 2:

輸入: s = "bbbbb"

輸出: 1

解釋: 因為無重復字符的最長子串是 "b",所以其長度為 1。

示例 3:

輸入: s = "pwwkew"

輸出: 3

解釋: 因為無重復字符的最長子串是 "wke",所以其長度為 3。

    請注意,你的答案必須是 子串 的長度,"pwke" 是一個子序列,不是子串。

2.代碼實現(xiàn):

class Solution {
public int lengthOfLongestSubstring(String s) {
// 哈希集合,記錄每個字符是否出現(xiàn)過
Set<Character> occ = new HashSet<Character>();
int n = s.length();
// 右指針,初始值為 -1,相當于我們在字符串的左邊界的左側(cè),還沒有開始移動
int rk = -1, ans = 0;
for (int i = 0; i < n; ++i) {
if (i != 0) {
// 左指針向右移動一格,移除一個字符
occ.remove(s.charAt(i - 1));
}
while (rk + 1 < n && !occ.contains(s.charAt(rk + 1))) {
// 不斷地移動右指針
occ.add(s.charAt(rk + 1));
++rk;
}
// 第 i 到 rk 個字符是一個極長的無重復字符子串
ans = Math.max(ans, rk - i + 1);
}
return ans;
}
}

到此這篇關(guān)于LeetCode程序員面試題之無重復字符的最長子串的文章就介紹到這了,更多相關(guān)Java計算無重復字符的最長子串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring請求參數(shù)校驗功能實例演示

    Spring請求參數(shù)校驗功能實例演示

    這篇文章主要介紹了Spring請求參數(shù)校驗功能實例演示,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • Java中的類初始化解析

    Java中的類初始化解析

    這篇文章主要介紹了Java中的類初始化解析,類的初始化是一個Java類生命周期中的其中一個階段,初始化是類加載的最后一個階段,也正是在初始化階段,才會真正開始執(zhí)行類中所寫的Java代碼,需要的朋友可以參考下
    2023-08-08
  • 淺談SpringMVC的執(zhí)行流程

    淺談SpringMVC的執(zhí)行流程

    下面小編就為大家?guī)硪黄獪\談SpringMVC的執(zhí)行流程。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • JavaWeb核心技術(shù)中Session與Cookie淺析

    JavaWeb核心技術(shù)中Session與Cookie淺析

    session的工作原理和cookie非常類似,在cookie中存放一個sessionID,真實的數(shù)據(jù)存放在服務器端,客戶端每次發(fā)送請求的時候帶上sessionID,服務端根據(jù)sessionID進行數(shù)據(jù)的響應
    2023-02-02
  • java+selenium實現(xiàn)自動化打開頁面的方法

    java+selenium實現(xiàn)自動化打開頁面的方法

    今天小編就為大家分享一篇java+selenium實現(xiàn)自動化打開頁面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • java設計模式之模板方法模式詳解

    java設計模式之模板方法模式詳解

    這篇文章主要為大家詳細介紹了java設計模式之模板方法模式的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • JDK9的新特性之String壓縮和字符編碼的實現(xiàn)方法

    JDK9的新特性之String壓縮和字符編碼的實現(xiàn)方法

    這篇文章主要介紹了JDK9的新特性之String壓縮和字符編碼的實現(xiàn)方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 實例詳解Java調(diào)用第三方接口方法

    實例詳解Java調(diào)用第三方接口方法

    很多項目都會封裝規(guī)定好本身項目的接口規(guī)范,所以大多數(shù)需要去調(diào)用對方提供的接口或第三方接口(短信、天氣等),下面這篇文章主要給大家介紹了關(guān)于Java調(diào)用第三方接口方法的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Java實現(xiàn)文件上傳和下載的方法詳解

    Java實現(xiàn)文件上傳和下載的方法詳解

    文件上傳,也稱為upload,是指將本地圖片、視頻、音頻等文件上傳到服務器上。文件下載,也稱為download,是指將文件從服務器傳輸?shù)奖镜赜嬎銠C的過程。本文將用Java實現(xiàn)文件上傳和下載,需要的可以參考一下
    2022-09-09
  • Java自帶定時任務ScheduledThreadPoolExecutor實現(xiàn)定時器和延時加載功能

    Java自帶定時任務ScheduledThreadPoolExecutor實現(xiàn)定時器和延時加載功能

    今天小編就為大家分享一篇關(guān)于Java自帶定時任務ScheduledThreadPoolExecutor實現(xiàn)定時器和延時加載功能,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評論