leetcode 3. Longest Substring Without Repeating Characters

来源:互联网 发布:挖矿软件是什么 编辑:程序博客网 时间:2024/05/21 10:32

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.

Subscribe to see which companies asked this question.

解法一:更新初始位置,用当前位置减去初始位置。每个字母都要放进map中。

class Solution {public:    int lengthOfLongestSubstring(string s) {        map<char,int> hashmap;        int begin=0;        int maxnum=0;        for(int i=0,j=0;i<s.size();i++){            if(hashmap.find(s[i])!=hashmap.end()){                j=max(j,hashmap[s[i]]+1);            }            hashmap[s[i]]=i;            maxnum=max(i-j+1,maxnum);        }        return maxnum;    }};
0 0
原创粉丝点击