NC41 最長無重複子陣列

2022-09-19 14:39:13 字數 882 閱讀 8409

目錄給定乙個長度為n的陣列arr,返回arr的最長無重複元素子陣列的長度,無重複指的是所有數字都不相同。

子陣列是連續的,比如[1,3,5,7,9]的子陣列有[1,3],[3,5,7]等等,但是[1,3,7]不是子陣列

資料範圍:

0≤arr.length≤10^5

0 <= arr[i]≤10^5

要求:空間複雜度 o(n),時間複雜度 o(nlogn)

示例1

輸入:[2,3,4,5]

返回值:4

說明:[2,3,4,5]是最長子陣列

示例2

輸入:[2,2,3,4,3]

返回值:3

說明:[2,3,4]是最長子陣列

示例3

輸入:[9]

返回值:1

示例4

輸入:[1,2,3,1,2,3,2,2]

返回值:3

說明:最長子陣列為[1,2,3]

示例5

輸入:[2,2,3,4,8,99,3]

返回值:5

說明:最長子陣列為[2,3,4,8,99]

使用雜湊表儲存已經瀏覽過的元素值和下標。

使用兩個指標,乙個指向開頭,乙個指向結尾,中間就是沒有重複的元素。

import j**a.util.*;

public class solution

map.put(arr[right],right);

res = math.max(res,right-left+1);

}return res;

}}

最長無重複子串

examples given abcabcbb the answer is abc which the length is 3.given bbbbb the answer is b with the length of 1.given pwwkew the answer is wke with t...

最長無重複子串

給定乙個字串,請找出其中無重複字元的最長子字串。例如,在 abcabcbb 中,最長無重複子串為 abc 其長度為3。在 pwwkew 最長無重複子串為 wke 其長度為3。注意是是子串,pwke 是子串行而不是子串。leetcode 首先試了試暴力搜尋,遍歷一次字串,遍歷過程中,對每個字元都有乙個...

最長無重複子串

最長無重複子串 兩種思路 一種是暴力解法 一種是動態規劃 package merchant public class maxnorepeat int record 0,maxlen 1,index 0 for int i 1 ilength i else len if maxlenreturn s....