Java实现 LeetCode 830 较大分组的位置(暴力模拟)
830. 较大分组的位置
在一个由小写字母构成的字符串 S 中,包含由一些连续的相同字符所构成的分组。
例如,在字符串 S = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。
我们称所有包含大于或等于三个连续字符的分组为较大分组。找到每一个较大分组的起始和终止位置。
最终结果按照字典顺序输出。
示例 1:
输入: “abbxxxxzzy”
输出: [[3,6]]
解释: “xxxx” 是一个起始于 3 且终止于 6 的较大分组。
示例 2:
输入: “abc”
输出: []
解释: “a”,“b” 和 “c” 均不是符合要求的较大分组。
示例 3:
输入: “abcdddeeeeaabbbcd”
输出: [[3,5],[6,9],[12,14]]
说明:  1 <= S.length <= 1000
class Solution {
    public List<List<Integer>> largeGroupPositions(String S) {
        char[] sarr = S.toCharArray();
        List<List<Integer>> lists = new ArrayList<>();
        List<Integer> list = null;
        int count = 1;  // 记录下出现的次数
        for (int i = 1; i < sarr.length; i++) {
            if (sarr[i] == sarr[i - 1]) {
                count ++;
            } else {
                if (count >= 3) {
                    list = new ArrayList<>();
                    list.add(i - count);
                    list.add(i - 1);
                    lists.add(list);
                }
                count = 1;
            }
            if (count >= 3 && i == sarr.length - 1) {
                list = new ArrayList<>();
                list.add(i - count + 1);
                list.add(i);
                lists.add(list);
            }
        }
        return lists;
    }
}
												
											Java实现 LeetCode 830 较大分组的位置(暴力模拟)的更多相关文章
- Java实现 LeetCode 838 推多米诺(暴力模拟)
		
838. 推多米诺 一行中有 N 张多米诺骨牌,我们将每张多米诺骨牌垂直竖立. 在开始时,我们同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌. 同样地, ...
 - C#LeetCode刷题之#830-较大分组的位置(Positions of Large Groups)
		
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3750 访问. 在一个由小写字母构成的字符串 S 中,包含由一些连 ...
 - [Swift]LeetCode830. 较大分组的位置 | Positions of Large Groups
		
In a string S of lowercase letters, these letters form consecutive groups of the same character. For ...
 - Leetcode830.Positions of Large Groups较大分组的位置
		
在一个由小写字母构成的字符串 S 中,包含由一些连续的相同字符所构成的分组. 例如,在字符串 S = "abbxxxxzyy" 中,就含有 "a", " ...
 - Java实现 LeetCode 811 子域名访问计数 (暴力)
		
811. 子域名访问计数 一个网站域名,如"discuss.leetcode.com",包含了多个子域名.作为顶级域名,常用的有"com",下一级则有" ...
 - Java实现 LeetCode 766 托普利茨矩阵(暴力)
		
766. 托普利茨矩阵 如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵. 给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True. 示例 1: 输 ...
 - Java实现 LeetCode 738 单调递增的数字(暴力)
		
738. 单调递增的数字 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增. (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= ...
 - Java实现 LeetCode 676 实现一个魔法字典(暴力)
		
676. 实现一个魔法字典 实现一个带有buildDict, 以及 search方法的魔法字典. 对于buildDict方法,你将被给定一串不重复的单词来构建一个字典. 对于search方法,你将被给 ...
 - Java实现 LeetCode 819 最常见的单词(暴力)
		
819. 最常见的单词 给定一个段落 (paragraph) 和一个禁用单词列表 (banned).返回出现次数最多,同时不在禁用列表中的单词. 题目保证至少有一个词不在禁用列表中,而且答案唯一. 禁 ...
 
随机推荐
- 【Spark】SparkStreaming从不同基本数据源读取数据
			
文章目录 基本数据源 文件数据源 注意事项 步骤 一.创建maven工程并导包 二.在HDFS创建目录,并上传要做测试的数据 三.开发SparkStreaming代码 四.运行代码后,往HDFS文件夹 ...
 - [hdu2222]ac自动机(模板)
			
题意:一个文本串+多个模板串的匹配问题 思路:裸的ac自动机. #pragma comment(linker, "/STACK:10240000,10240000") #inclu ...
 - java ->IO流_转换流
			
转换流 在学习字符流(FileReader.FileWriter)的时候,其中说如果需要指定编码和缓冲区大小时,可以在字节流的基础上,构造一个InputStreamReader或者OutputStre ...
 - 2018-06-19 Javascript 基础2
			
js变量类型测试:typeof()->五种 (number,string,boolean,object,undefined): instanceof->检查某个对象是否是某个构造器产生的 ...
 - jquery监听input
			
$(function(){ //输入框正在输入时 $("#ipt").on('input',function(){ if(!($('#ipt').val()=='')){ $(&q ...
 - 「雕爷学编程」Arduino动手做(13)——触摸开关模块
			
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
 - day08文件的操作(0221)
			
#1.文件操作之追加数据01:f = open("yesterday01",'a+U',encoding="utf-8")#a= append,追加之意,w则为 ...
 - 接触Ubuntu的第一周大致总结
			
VB上安装,很简单,和入门的帮助,man,--help. 基础的分区,FDISK,文件系统,目录 ,LS,cd,文件操作mkdir,rm,cp等,文件查看,cat,tac,less,等,文件查找loc ...
 - LeetCode上的SQL练习
			
184. 部门工资最高的员工 SELECT D. NAME Department, E. NAME Employee, E.Salary FROM -- 内连接两张查询表 Employee E INN ...
 - 关于 Git 拉取GitLab工程报错:Repository not found的问题
			
[root@localhost xscan]# git pull fatal: repository 'http://gitlab.***.com/***.git/' not found 原因1: 可 ...