成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

力扣(LeetCode)3

_DangJin / 3066人閱讀

摘要:示例輸入輸出解釋因為無重復(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

相關(guān)文章

  • 力扣(LeetCode)310

    摘要:圖因此可以成為樹,在所有可能的樹中,具有最小高度的樹被稱為最小高度樹。給出這樣的一個圖,寫出一個函數(shù)找到所有的最小高度樹并返回他們的根節(jié)點。因此使用一個數(shù)組代表每個節(jié)點的入度,若入度為就是葉子節(jié)點。 題目地址:https://leetcode-cn.com/probl...題目描述: 對于一個具有樹特征的無向圖,我們可選擇任何一個節(jié)點作為根。圖因此可以成為樹,在所有可能的樹中,具有最小...

    amuqiao 評論0 收藏0
  • LeetCode天梯>Day026 反轉(zhuǎn)鏈表(遞歸法+(迭代法)雙鏈表法) | 初級算法 | Py

    摘要:關(guān)于遞歸這里提一兩點遞歸基本有這幾步遞歸的模板,終止條件,遞歸調(diào)用,邏輯處理。 ?作者簡介:大家好,我是車神哥,府學(xué)路18號的車神? ?個人主頁:應(yīng)無所住而生...

    imingyu 評論0 收藏0
  • 力扣(LeetCode)46

    摘要:題目地址題目描述給定一個沒有重復(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]]解答:利用遞歸,我們可...

    李增田 評論0 收藏0
  • LeetCode天梯>Day031 驗證二叉搜索樹(遞歸+中序遍歷) | 初級算法 | Pytho

    摘要:有效二叉搜索樹定義如下節(jié)點的左子樹只包含小于當(dāng)前節(jié)點的數(shù)。所有左子樹和右子樹自身必須也是二叉搜索樹。而我們二叉搜索樹保證了左子樹的節(jié)點的值均小于根節(jié)點的值,根節(jié)點的值均小于右子樹的值,因此中序遍歷以后得到的序列一定是升序序列。 ...

    Genng 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<