PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 2
Anastasi Отправлено: 10 Сентября, 2021 - 19:45:08 • Тема: Заменить повторяющиеся символы на следущую букву алфавита • Форум: Программирование на PHP

Ответов: 4
Просмотров: 188
don.bidon пишет:
Так заменять и не пытались )
Посимвольно бегите по строке, помня предыдущий символ, если предыдущий символ совпадает с текущим, делайте замену и начинайте сканирование заново.
Или требуют изящного решения?



Не пыталась так как вообще не понимаю как) Вот прошу помощи. Ваши слова мне понятны но как написать код не знаю, очень плохо разбираюсь в языке пока
Anastasi Отправлено: 10 Сентября, 2021 - 10:13:37 • Тема: Заменить повторяющиеся символы на следущую букву алфавита • Форум: Программирование на PHP

Ответов: 4
Просмотров: 188
Дана строка, которая состоит из букв латинского алфавита в
нижнем регистре. Реализуйте следующий алгоритм. Если в строке
есть две «одинаковые» буквы, они заменяются одной следующей
для них буквой алфавита.

"aa" => "b", "bb" => "c", .. "zz" => "a".

Заменяемые символы не обязательно смежные. Эта операция
повторяется до тех пор, пока в строке не останется повторяющихся
букв. Порядок символов не важен.

"zzzab"
"azab"
"bzb"
"cz" // return



Моя попытка:

<?php
$str = "zzzab";
$alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
$str = preg_split("//u", $str);
$arr = [];

foreach ($str as $v) {
if (in_array($v, $arr))
continue;
$arr[] = $v;
}

$str = implode($arr);
print_r ($str);

вроде удалила первые символы но заменить не смогла.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB