91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

leetcode中如何查看無重復字符的最長子串

發布時間:2022-01-17 11:46:55 來源:億速云 閱讀:122 作者:小新 欄目:大數據

這篇文章主要介紹了leetcode中如何查看無重復字符的最長子串,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

 

題目鏈接

https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/

 

題目描述

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

示例 1:

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

示例 2:

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

示例 3:

輸入: "pwwkew"輸出: 3解釋: 因為無重復字符的最長子串是 "wke",所以其長度為 3。     請注意,你的答案必須是 子串 的長度,"pwke" 是一個子序列,不是子串。
 
 

解題方案

 

思路

  • 標簽:滑動窗口

  • 暴力解法時間復雜度較高,會達到O(n^2),故而采取滑動窗口的方法降低時間復雜度

  • 定義一個map數據結構存儲(k,v),其中key值為字符,value值為字符位置+1,加1表示從字符位置后一個才開始不重復

  • 我們定義不重復子串的開始位置為start,結束位置為end

  • 隨著end不斷遍歷向后,會遇到與[start, end]區間內字符相同的情況,此時將字符作為key值,獲取其value值,并更新start,此時[start, end]區間內不存在重復字符

  • 無論是否更新start,都會更新其map數據結構和結果ans。

  • 時間復雜度:O(n)

 

代碼

class Solution {    public int lengthOfLongestSubstring(String s) {        int n = s.length(), ans = 0;        Map<Character, Integer> map = new HashMap<>();        for (int end = 0, start = 0; end < n; end++) {            char alpha = s.charAt(end);            if (map.containsKey(alpha)) {                start = Math.max(map.get(alpha), start);            }            ans = Math.max(ans, end - start + 1);            map.put(s.charAt(end), end + 1);        }        return ans;    }}
 
 

畫解

leetcode中如何查看無重復字符的最長子串

leetcode中如何查看無重復字符的最長子串

leetcode中如何查看無重復字符的最長子串

leetcode中如何查看無重復字符的最長子串

leetcode中如何查看無重復字符的最長子串

leetcode中如何查看無重復字符的最長子串

leetcode中如何查看無重復字符的最長子串


感謝你能夠認真閱讀完這篇文章,希望小編分享的“leetcode中如何查看無重復字符的最長子串”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽阳市| 赤水市| 东海县| 定安县| 庆阳市| 临颍县| 木兰县| 理塘县| 武功县| 宁武县| 吉安县| 揭阳市| 鄂州市| 乐至县| 永德县| 甘泉县| 玉溪市| 金阳县| 凤山县| 汕尾市| 樟树市| 友谊县| 永胜县| 大渡口区| 井冈山市| 奉新县| 桓仁| 西华县| 广德县| 峨山| 安陆市| 额尔古纳市| 苍溪县| 永修县| 平山县| 远安县| 汉源县| 左权县| 射阳县| 永兴县| 肥城市|