【LeetCode】3. Longest Substring Without Repeating Characters
生活随笔
收集整理的這篇文章主要介紹了
【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.
思路大概是建立一個映射表,遍歷整個字符串,如果字符對應映射表的index值為-1,說明字符沒出現過,計算長度大小,更新maxLength。如果字符出現過,那么就重新開始計算。遍歷后得到最后結果。
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;} };?
轉載于:https://www.cnblogs.com/Doctengineer/p/5816496.html
總結
以上是生活随笔為你收集整理的【LeetCode】3. Longest Substring Without Repeating Characters的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LaTeX 安装
- 下一篇: c# 泛型List的定义、作用、用法