| 12345678910111213141516171819202122232425262728293031323334353637383940 |
-
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.stream.Collectors;
-
- public class Series {
-
- private final int digitsSize;
- private List<Integer> digits;
-
- public Series(String string) {
- this.digits = Arrays
- .asList(string.split(("")))
- .stream()
- .map(digit -> Integer.parseInt(digit))
- .collect(Collectors.toList());
- this.digitsSize = this.digits.size();
- }
-
- public List<List<Integer>> slices(int num) {
- if (num > this.digitsSize) {
- throw new IllegalArgumentException("Slice size is too big.");
- }
- final int limit = this.digitsSize - num + 1;
- List<List<Integer>> result = new ArrayList<>(limit);
- List<Integer> tmp;
- for (int i = 0; i < limit; i++) {
- tmp = this.digits.subList(i, i + num);
- result.add(tmp);
- }
- return result;
- }
-
- public List<Integer> getDigits() {
- return digits;
- }
-
- }
|