/
SofiMut
/
Interval
Обзор
Документация
Войти
/
SofiMut
/
Interval
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/Main.java
60 строк
2 KB
Sofia Stepanova
first_commit
25 ноя 2025, 15:24
25 ноя 2025, 15:24
e41c7a2
Код
Авторство
О чём код?
import java.util.ArrayList; import java.util.List; import java.util.Random; public class Main { public static void main(String[] args) throws InterruptedException { String[] texts = new String[25]; for (int i = 0; i < texts.length; i++) { texts[i] = generateText("aab", 30_000); } long startTs = System.currentTimeMillis();// start time List<Thread> threads = new ArrayList<>(); for (String text : texts) { Thread myThread = new Thread(() -> { int maxSize = 0; for (int i = 0; i < text.length(); i++) { for (int j = 0; j < text.length(); j++) { if (i >= j) { continue; } boolean bFound = false; for (int k = i; k < j; k++) { if (text.charAt(k) == 'b') { bFound = true; break; } } if (!bFound && maxSize < j - i) { maxSize = j - i; } } } System.out.println(text.substring(0, 100) + " -> " + maxSize); }); threads.add(myThread); myThread.start(); } for (Thread myThread : threads) { myThread.join(); } long endTs = System.currentTimeMillis(); // end time System.out.println("Time: " + (endTs - startTs) + "ms"); } public static String generateText(String letters, int length) { Random random = new Random(); StringBuilder text = new StringBuilder(); for (int i = 0; i < length; i++) { text.append(letters.charAt(random.nextInt(letters.length()))); } return text.toString(); } }