Дана строка, которая состоит из букв латинского алфавита в
нижнем регистре. Реализуйте следующий алгоритм. Если в строке
есть две «одинаковые» буквы, они заменяются одной следующей
для них буквой алфавита.
"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);
вроде удалила первые символы но заменить не смогла.
|