Ransom Note
| https://leetcode.com/problems/ransom-note/description/ | Easy | 
Условие
Даны две строки ransomNote и magazine. Нужно определить, можно ли составить строку ransomNote из символов строки magazine. Каждый символ строки magazine можно использовать не более одного раза.
Примеры
Input:ransomNote = "a", magazine = "b"Output:false
Input:ransomNote = "aa", magazine = "ab"Output:false
Input:ransomNote = "aa", magazine = "aab"Output:true
Решение
fun canConstruct(ransomNote: String, magazine: String): Boolean {
    val charCount = IntArray(26)  // Массив для подсчета количества каждой буквы в magazine
    // Подсчитываем количество каждой буквы в magazine
    for (char in magazine) {
        charCount[char - 'a']++
    }
    // Проверяем, можно ли составить ransomNote из magazine
    for (char in ransomNote) {
        if (charCount[char - 'a'] == 0) {
            return false  // Если буквы недостаточно, вернуть false
        }
        charCount[char - 'a']--  // Уменьшаем количество использованной буквы
    }
    return true  // Если все буквы найдены, вернуть true
}
Временная сложность
O(n + m), где n — длина magazine, а m — длина ransomNote, так как мы проходим по каждой строке один раз.
Пространственная сложность
O(1), так как используется фиксированный массив размера 26 для хранения количества букв.