zoukankan      html  css  js  c++  java
  • 较大分组的位置

    此博客链接:https://www.cnblogs.com/ping2yingshi/p/14238798.html

    较大分组的位置

    题目链接:https://leetcode-cn.com/problems/positions-of-large-groups/

    在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。

    例如,在字符串 s = "abbxxxxzyy" 中,就含有 "a", "bb", "xxxx", "z" 和 "yy" 这样的一些分组。

    分组可以用区间 [start, end] 表示,其中 start 和 end 分别表示该分组的起始和终止位置的下标。上例中的 "xxxx" 分组用区间表示为 [3,6] 。

    我们称所有包含大于或等于三个连续字符的分组为 较大分组 。

    找到每一个 较大分组 的区间,按起始位置下标递增顺序排序后,返回结果。

    示例 1:

    输入:s = "abbxxxxzzy"
    输出:[[3,6]]
    解释:"xxxx" 是一个起始于 3 且终止于 6 的较大分组。
    示例 2:

    输入:s = "abc"
    输出:[]
    解释:"a","b" 和 "c" 均不是符合要求的较大分组。
    示例 3:

    输入:s = "abcdddeeeeaabbbcd"
    输出:[[3,5],[6,9],[12,14]]
    解释:较大分组为 "ddd", "eeee" 和 "bbb"
    示例 4:

    输入:s = "aba"
    输出:[]

    题解

    思路1:此题看完题目就是感觉使用哈希表来做,把字符串变成字符数组,然后把元素存到key中,value存储元素的下标,最后判断value中的个数大于等于3的数,并且把value中的第一个数和最后一个数存到list中。

    思路2:因为题目中相同字母是连续的,可以判断相同字母个数是否达到3个,如果达到三个,则把相同字母的数组下标存到list中。

    代码

    class Solution {
        public List<List<Integer>> largeGroupPositions(String s) {
             
              char temp []=s.toCharArray();
              List<List<Integer>> result=new ArrayList();
              
              
              for(int i=0;i<temp.length;i++)
              {
                List <Integer> list=new ArrayList();
                int count=1;
                int j=i;
                while(i<temp.length-1&&temp[i]==temp[i+1])
                {
                    count++;
                    i++;
                }
                if(count>=3)
                {
                    list.add(j);
                    list.add(i);
                    result.add(list);
                }
              }
         
            return result;
              
        }
    }

    结果

    出来混总是要还的
  • 相关阅读:
    Collection(集合)知识点总结
    【Mysql 学习】mysql 的使用复习
    解决Address localhost:1099 is already in use
    mysql8.0中dcl语句修改密码的语法
    mysql+sqlyog 多表查询练习
    MySQL 8.0 Public Key Retrieval is not allowed 错误的解决方法
    JDBC连接Mysql 8.0.12版本的几个注意事项
    JSTL学习
    64-多个参数个数
    63-参数的使用
  • 原文地址:https://www.cnblogs.com/ping2yingshi/p/14238798.html
Copyright © 2011-2022 走看看