美文网首页
leetcode-day22-较大分组的位置[830]

leetcode-day22-较大分组的位置[830]

作者: 孙静静 | 来源:发表于2021-01-05 10:49 被阅读0次

之前一直在Leetcode里面做完未记录,今天又想起来记录下,是因为一道题有时候用了多种方法写,在leetcode里面看不方便,既然想起来还是记录下吧。


image.png

解法一: 利用栈的思路
思路: 将s转成数组,加入栈中,如果加入的字符和栈中最后一个字符相同,则累加,直到累加超过3,则加入结果数组里,这里存在一个大于3的时候重复添加的过程,所以最近结果数组再去重。
这样写内存消耗比较大!

let stack = [], resArr = [], resArr2 = [];
    let arr = s.split('');
    let i = -1, num = 1;
    while(arr.length > 0){
        i++;
        let item = arr.shift();
        if(stack[stack.length - 1] && stack[stack.length - 1] === item){
            num++;
            if(num>=3){
                resArr[1] = i;
                resArr2.push(resArr);
            }
        }else{
            num = 1;
            resArr = []
            resArr[0] = i;
            stack.push(item);
        }
    }
    return [...new Set(resArr2)];

解法二: 双指针法
思路:定义前后指针都为0,当前一个元素和后一个相同的时候,让后指针先走,直到出现元素和前一个元素不同的时候,统计后指针是否比前指针多走了2步,如果是,则将前后指针步数加入结果数组。同时在不同的时候将前后指针的步数与当前位置i保持统一。

  let start = end = 0;
    let res = [];
    for(let i=0;i<s.length;i++){
        if(s[i] === s[i+1]){
            end++
        }else{
            if(end - start >=2){
                res.push([start, end]);
            }
            start = end = i+1;
        }
    }
    return res;

相关文章

  • leetcode-day22-较大分组的位置[830]

    之前一直在Leetcode里面做完未记录,今天又想起来记录下,是因为一道题有时候用了多种方法写,在leetcode...

  • 830. 较大分组的位置

    830. 较大分组的位置 问题 在一个由小写字母构成的字符串 S 中,包含由一些连续的相同字符所构成的分组。例如,...

  • 830. 较大分组的位置

    题目 在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。 例如,在字符串 s = "ab...

  • leetcode 830. 较大分组的位置

    尝试耍小聪明失败。尴尬的一批。

  • 830. 较大分组的位置(Python)

    题目 难度:★★☆☆☆类型:字符串 在一个由小写字母构成的字符串 S 中,包含由一些连续的相同字符所构成的分组。 ...

  • 830. 较大分组的位置(每日一题)

    lzyprime 博客 (github)[https://lzyprime.github.io] 创建时间:2...

  • Storm流分组源码分析

    本文不是停留在字面上去总结Storm的流分组方式,而是列出Storm流分组实现的源码位置,看了源码,对各种流分组也...

  • Leetcode PHP题解--D120 830. Positi

    D120 830. Positions of Large Groups 题目链接 830. Positions o...

  • 830

    人总是回忆往昔,是因过往一去不返。还有往昔丢失的美感,在如今是找不回来了,无意中很希望如今的生活能给予我们从...

  • 830

    追星之夜,一下见到了道长、唐诺、朱天心和阿城。现场有人问,我们现在所处的这个时代是不是一个好的时代,是不是越来越粗...

网友评论

      本文标题:leetcode-day22-较大分组的位置[830]

      本文链接:https://www.haomeiwen.com/subject/rzeioktx.html