/
xlzpm
/
sequenceOfTwoTask
Обзор
Документация
Войти
/
xlzpm
/
sequenceOfTwoTask
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Main.kt
50 строк
2 KB
Ilya Stone
ready solution
17 ноя 2024, 17:56
17 ноя 2024, 17:56
78fdb07
Код
Авторство
О чём код?
import java.io.File fun main() { // Задание 1 val task1Text = File("task1.txt").readText() val maxPairsTask1 = findMaxConsecutivePairs(task1Text, listOf("AB", "CB")) println("Максимальное количество подряд идущих пар AB или CB: $maxPairsTask1") // Задание 2 val task2Text = File("task2.txt").readText() val maxConsecutiveTask2 = findMaxConsecutiveValidSymbols(task2Text) println("Максимальное количество подряд идущих символов для задания 2: $maxConsecutiveTask2") } // Функция для задания 1 fun findMaxConsecutivePairs(text: String, pairs: List<String>): Int { var maxCount = 0 var currentCount = 0 for (i in 0 until text.length - 1) { val pair = text.substring(i, i + 2) if (pair in pairs) { currentCount++ maxCount = maxOf(maxCount, currentCount) } else { currentCount = 0 } } return maxCount } // Функция для задания 2 fun findMaxConsecutiveValidSymbols(text: String): Int { var maxCount = 0 var currentCount = 0 var lastType: Char? = null for (char in text) { val currentType = if (char.isDigit()) 'D' else 'L' if (currentType != lastType) { currentCount++ maxCount = maxOf(maxCount, currentCount) lastType = currentType } else { currentCount = 1 lastType = currentType } } return maxCount }