最長不重復(fù)子串長度 為什么我大學(xué)里的師兄給打ACM的人推薦很多OJ,而給不打ACM的人推薦LeetCode呢?
為什么我大學(xué)里的師兄給打ACM的人推薦很多OJ,而給不打ACM的人推薦LeetCode呢?Leetcode是為找工作的人準(zhǔn)備的。對普通大學(xué)生來說太難了,所以不適合。大學(xué)生應(yīng)該使用一些更適合學(xué)生的oj這
為什么我大學(xué)里的師兄給打ACM的人推薦很多OJ,而給不打ACM的人推薦LeetCode呢?
Leetcode是為找工作的人準(zhǔn)備的。對普通大學(xué)生來說太難了,所以不適合。大學(xué)生應(yīng)該使用一些更適合學(xué)生的oj
這里我們提供一個思路:設(shè)計四個變量,X1和Y1用于存儲當(dāng)前檢索到的最長子串的起始位置和長度,X2和Y2用于存儲當(dāng)前檢索到的字符串的起始位置和長度,然后建立一個循環(huán)遍歷所有字符,一次遍歷一個字符,如果與當(dāng)前的檢索字符串沒有沖突,則繼續(xù)方便。如果與當(dāng)前檢索字符串存在字符沖突,將比較當(dāng)前檢索字符串的長度和最長字符串的長度。遍歷整個字符串后,可以找到最長字符串的起始位置和長度。
求字符串內(nèi)最長不重復(fù)的子串長度是多少?
遍歷給定的字符串haystack到值hslength-ndlength 1,這是一個臨界點,然后剩余字符串的長度小于需要的長度,因此不需要遍歷。使用substring()方法截取長度與需要相同的字符串,并比較這兩種方法。相同的結(jié)果返回索引,但不是-1
]復(fù)雜性分析:O(n)
空間復(fù)雜性:O(n)