830. Positions of Large Groups - LeetCode
2024-09-06 21:22:33
Question
830. Positions of Large Groups
Solution
题目大意:
字符串按连续相同字符分组,超过3个就返回首字符和尾字符
思路 :
举例abcdddeeeeaabbbcd
end start end-start
a 0 0
b 1 0,1 1-0=1
c 2 1,2 2-1=1
d 3 2,3 3-2=1
d 4 3
d 5 3
e 6 3,6 6-3=3 3,5
e 7 6
e 8 6
e 9 6
a 10 6,10 10-6=4 6,9
a 11 10
b 12 10,12 12-10=2
b 13 12
b 14 12
c 15 12,15 15-12=3 12,14
d 16 13,14 16-15=1
Java实现:
public List<List<Integer>> largeGroupPositions(String S) {
List<List<Integer>> retList = new ArrayList<>();
if (S.length() < 3) return retList;
int startIdx = 0, endIdx = 0;
for (int i = 1; i < S.length(); i++) {
endIdx = i;
if (S.charAt(i) != S.charAt(startIdx)) {
if (endIdx - startIdx > 2) {
retList.add(Arrays.asList(startIdx, endIdx - 1));
}
startIdx = i;
}
}
if (endIdx - startIdx > 1) {
retList.add(Arrays.asList(startIdx, endIdx));
}
return retList;
}
最新文章
- Redis 5种数据结构使用及注意事项
- Design1:数据层次结构建模之一
- Hibernate中的一对一关联和组件的映射
- 基于Eclipse的scala应用开发
- 易维清使用技巧:CHM编辑利器
- 【转】shell 教程——05 第一个Shell脚本
- Mvc动态注册HttpModule详解
- 记录一个从没见过的bug
- Integer.valueOf()与Integer.parseInt()区别
- Nginx实现URL重写
- Python day 04
- 20165231 2017-2018-2 《Java程序设计》第3周学习总结
- 模板-gcd
- 登录页面和FORM的职责不对称,处理方法,刷新工作流程
- [Leetcode 46]全排列 Permutations 递归
- Java日志 #01# 入门
- python之路---12 生成器 推导式
- python之路---03 整型 bool 字符串 for循环
- Django 性能测试
- UIViewController的初始化