目录
牛客_NC402包含不超过两种字符的最长子串_滑动窗口
描述:
给定一个长度为 n 的字符串,找出最多包含两种字符的最长子串 t ,返回这个最长的长度。
数据范围: 1≤n≤10^5 ,字符串种仅包含小写英文字母。
输入描述:
仅一行,输入一个仅包含小写英文字母的字符串
输出描述:
输出最长子串的长度
题目解析
双指针,右指针遍历记录字符串出现的个数,当超过条件时,移动左指针直到满足条件,更新最大字符串长度。
C++代码
class Solution
{
public:
int LastRemaining_Solution(int n, int m)
{
int f = 0;
for(int i = 2; i <= n; i++)
{
f = (f + m) % i;
}
return f;
}
};
Java代码
import java.util.*;
public class Solution
{
public int LastRemaining_Solution (int n, int m)
{
int f = 0;
for(int i = 2; i <= n; i++)
{
f = (f + m) % i;
}
return f;
}
}