【LeetCode】3. Longest Substring Without Repeating Characters
題目:
Given a string, find the length of the?longest substring?without repeating characters.
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 the length of 3. Note that the answer must be a?substring,?"pwke"?is a?subsequence?and not a substring.
思路大概是建立一個(gè)映射表,遍歷整個(gè)字符串,如果字符對(duì)應(yīng)映射表的index值為-1,說(shuō)明字符沒(méi)出現(xiàn)過(guò),計(jì)算長(zhǎng)度大小,更新maxLength。如果字符出現(xiàn)過(guò),那么就重新開(kāi)始計(jì)算。遍歷后得到最后結(jié)果。
class Solution { public:int lengthOfLongestSubstring(string s) {int indexOfChar[256];memset(indexOfChar, -1, sizeof(indexOfChar));int maxLength = 0;int initIndex = -1;for (int i = 0; i < s.length(); ++i){if (indexOfChar[s[i]] > initIndex){initIndex = indexOfChar[s[i]];}indexOfChar[s[i]]=i;maxLength=max(maxLength, i - initIndex);}return maxLength;} };?
轉(zhuǎn)載于:https://www.cnblogs.com/Doctengineer/p/5816496.html
總結(jié)
以上是生活随笔為你收集整理的【LeetCode】3. Longest Substring Without Repeating Characters的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LaTeX 安装
- 下一篇: c# 泛型List的定义、作用、用法