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