830. 较大分组的位置
2023-02-11 09:01 作者:目标力扣Knight | 我要投稿

方法一:双指针
Python版本
C++版本
复杂度分析
时间复杂度:O(N)。最恶劣情况,假设每个连续字符间隔为1,最多需要搜索
n / 2
次;空间复杂度: O(N)。 最坏情况,均为间隔为2的字符组,总数为
n / 3
组;
备注
做题时考虑因素太多,不仅考虑了字符组种类,还考虑了分组长度和起止点。题目并未限定每一种字符仅统计一次,所以前面三者中第一点和第三点无需考虑,存在这个思维误区;
面向测试用例编程,原意在for循环内部统计分组长度,但显而易见长度统计十分困难,我们仅需找到第一重循环字符为起点,连续多个为终点的字符组即可,无需考虑多种字符;
易错点:while循环相比for循环指定终点,更容易因为忘记制造指针偏移而造成 TLE 。