(文字の最長の部分文字列を繰り返すことなく)LeetCode 20200312

いいえサブストリング最長文字を繰り返す1.
ハッシュテーブルを使用するには、この質問のハッシュマップの必要
方法に対応する各文字の最終位置を記録するために、ハッシュテーブルを使用して、
この値が既に重複することなくテーブルに存在するかどうかを決定するために再検討されるべきである(1)左端点
(2)は、テーブルの最後の位置を更新する
(3)非繰り返し長さにさらにダウン計算取る最大

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        int res=0;
        int left=-1;
        unordered_map<int,int>map;
        int len=s.size();
        for(int i=0;i<len;i++){
            if(map.count(s[i])&&map[s[i]]>left){
                left=map[s[i]];
            }
            map[s[i]]=i;
            res=max(res,i-left);

        }
        return res;
    }
};
公開された60元の記事 ウォンの賞賛9 ビュー3940

おすすめ

転載: blog.csdn.net/puying1/article/details/104820928