g0801_0900.s0830_positions_of_large_groups.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g0801_0900.s0830_positions_of_large_groups;
// #Easy #String #2022_03_24_Time_2_ms_(80.94%)_Space_44.3_MB_(74.84%)
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 830 - Positions of Large Groups\.
*
* Easy
*
* In a string `s` of lowercase letters, these letters form consecutive groups of the same character.
*
* For example, a string like `s = "abbxxxxzyy"` has the groups `"a"`, `"bb"`, `"xxxx"`, `"z"`, and `"yy"`.
*
* A group is identified by an interval `[start, end]`, where `start` and `end` denote the start and end indices (inclusive) of the group. In the above example, `"xxxx"` has the interval `[3,6]`.
*
* A group is considered **large** if it has 3 or more characters.
*
* Return _the intervals of every **large** group sorted in **increasing order by start index**_.
*
* **Example 1:**
*
* **Input:** s = "abbxxxxzzy"
*
* **Output:** [[3,6]]
*
* **Explanation:** `"xxxx" is the only` large group with start index 3 and end index 6.
*
* **Example 2:**
*
* **Input:** s = "abc"
*
* **Output:** []
*
* **Explanation:** We have groups "a", "b", and "c", none of which are large groups.
*
* **Example 3:**
*
* **Input:** s = "abcdddeeeeaabbbcd"
*
* **Output:** [[3,5],[6,9],[12,14]]
*
* **Explanation:** The large groups are "ddd", "eeee", and "bbb".
*
* **Constraints:**
*
* * `1 <= s.length <= 1000`
* * `s` contains lowercase English letters only.
**/
public class Solution {
public List> largeGroupPositions(String s) {
List> map = new ArrayList<>();
int i = 0;
while (i < s.length()) {
int j = i;
while (j < s.length() && s.charAt(j) == s.charAt(i)) {
j++;
}
if ((j - 1) - i + 1 >= 3) {
map.add(Arrays.asList(i, j - 1));
}
i = j;
}
return map;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy