找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 7692|回复: 0
收起左侧

[基础刷题题目讨论] [LeetCode新题] Longest Substring with At Most Two Distinct Characters

[复制链接]

2

主题

0

精华

30

积分

新米人

Rank: 1

积分
30
发表于 11-29-2014 10:43 PM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

原题为:Given a string S, find the length of the longest substring T that contains at most two distinct characters.
For example,
Given S = “eceba”,
T is “ece” which its length is 3.以下是代码:
    int lengthOfLongestSubstringWithTwoDistinct(String s) {
        int start = 0;
        int cursor = -1;
        int maxLen = 0;

        for (int k = 1; k < s.length(); k++) {
            if (s.charAt(k) == s.charAt(k - 1)) {
                continue;
            }
            if (cursor >= 0 && s.charAt(cursor) != s.charAt(k)) {
                maxLen = Math.max(k - start, maxLen);
                start = cursor + 1;
            }
            cursor = k - 1;
        }
        return Math.max(s.length() - start, maxLen);
    }



Reference from: http://www.danielbit.com/blog/pu ... distinct-characters
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表