摘要:示例輸入輸出解釋因為無重復(fù)字符的最長子串是,所以其長度為。請注意,你的答案必須是子串的長度,是一個子序列,不是子串。若沒有重復(fù)元素,則區(qū)間右邊擴大,否則區(qū)間左邊縮小。
題目地址:
https://leetcode-cn.com/probl...
題目描述:
給定一個字符串,請你找出其中不含有重復(fù)字符的 最長子串 的長度。
示例 1:
輸入: "abcabcbb"
輸出: 3
解釋: 因為無重復(fù)字符的最長子串是 "abc",所以其長度為 3。
示例 2:
輸入: "bbbbb"
輸出: 1
解釋: 因為無重復(fù)字符的最長子串是 "b",所以其長度為 1。
示例 3:
輸入: "pwwkew"
輸出: 3
解釋: 因為無重復(fù)字符的最長子串是 "wke",所以其長度為 3。
請注意,你的答案必須是 子串 的長度,"pwke" 是一個子序列,不是子串。
解答:
利用雙指針法,雙指針維護了一個滑動的區(qū)間,在用一個哈希表記錄這個區(qū)間里的字符及其個數(shù),對一個區(qū)間
進行檢查,每一次這個區(qū)間沒有重復(fù)元素就跟結(jié)果比較大小來選擇是否更新結(jié)果。若沒有重復(fù)元素,則區(qū)間右邊
擴大,否則區(qū)間左邊縮小。直至到達邊界。(需要注意的是,這里的字符不僅僅是"A"到"z",因此hash數(shù)組需要開的大一些,來容納那些ASCII碼大的字符。)
java ac代碼:
class Solution { public int lengthOfLongestSubstring(String s) { if(s.length() == 0)return 0; int ans = 1; int[]hash = new int[200]; hash[s.charAt(0)] = 1; for(int i = 0,j = 0;i <= j && j < s.length();) { boolean flag = false; for(int k = 0 ;k < hash.length ;k++) if(hash[k] > 1){flag = true;break;} if(!flag) { ans = Math.max(ans,j-i+1); j++; if(j < s.length()) hash[s.charAt(j)]++; else break; } else { hash[s.charAt(i)]--; i++; } } return ans; } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73664.html
摘要:圖因此可以成為樹,在所有可能的樹中,具有最小高度的樹被稱為最小高度樹。給出這樣的一個圖,寫出一個函數(shù)找到所有的最小高度樹并返回他們的根節(jié)點。因此使用一個數(shù)組代表每個節(jié)點的入度,若入度為就是葉子節(jié)點。 題目地址:https://leetcode-cn.com/probl...題目描述: 對于一個具有樹特征的無向圖,我們可選擇任何一個節(jié)點作為根。圖因此可以成為樹,在所有可能的樹中,具有最小...
摘要:關(guān)于遞歸這里提一兩點遞歸基本有這幾步遞歸的模板,終止條件,遞歸調(diào)用,邏輯處理。 ?作者簡介:大家好,我是車神哥,府學(xué)路18號的車神? ?個人主頁:應(yīng)無所住而生...
摘要:題目地址題目描述給定一個沒有重復(fù)數(shù)字的序列,返回其所有可能的全排列。 題目地址:https://leetcode-cn.com/probl...題目描述:給定一個沒有重復(fù)數(shù)字的序列,返回其所有可能的全排列。 示例: 輸入: [1,2,3]輸出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解答:利用遞歸,我們可...
摘要:有效二叉搜索樹定義如下節(jié)點的左子樹只包含小于當(dāng)前節(jié)點的數(shù)。所有左子樹和右子樹自身必須也是二叉搜索樹。而我們二叉搜索樹保證了左子樹的節(jié)點的值均小于根節(jié)點的值,根節(jié)點的值均小于右子樹的值,因此中序遍歷以后得到的序列一定是升序序列。 ...
閱讀 2394·2023-04-25 19:27
閱讀 3505·2021-11-24 09:39
閱讀 3919·2021-10-08 10:17
閱讀 3409·2019-08-30 13:48
閱讀 1943·2019-08-29 12:26
閱讀 3132·2019-08-28 17:52
閱讀 3548·2019-08-26 14:01
閱讀 3543·2019-08-26 12:19