Сложность: easy
Даны две строки ransomNote и magazine, верните true, если ransomNote можно составить, используя буквы из magazine, и false в противном случае.
Каждая буква из magazine может быть использована в ransomNote только один раз.
Пример:
Input: ransomNote = "a", magazine = "b"
Output: false
👨💻 Алгоритм:
1⃣Поскольку строки являются неизменяемым типом, их нельзя изменять, поэтому у них нет операций "вставки" и "удаления".
2⃣По этой причине необходимо заменять строку magazine новой строкой, в которой отсутствует символ, который мы хотели удалить.
3⃣Повторяйте этот процесс, пока не будут удалены все необходимые символы.
😎 Решение:
public boolean canConstruct(String ransomNote, String magazine) {
for (char c : ransomNote.toCharArray()) {
int index = magazine.indexOf(c);
if (index == -1) {
return false;
}
magazine = magazine.substring(0, index) + magazine.substring(index + 1);
}
return true;
}Ставь 👍 и забирай 📚 Базу знаний