UniLecs #136. Custom String.IndexOf()

UniLecs #136. Custom String.IndexOf()

UniLecs
string functions in Typescript

Задача: в исходной строке необходимо найти первое и последнее вхождение заданного символа. Если символа в строке нет, выведите -1.

Входные данные: str - входная строка в кодировке Unicode, кол-во символов в строке не больше 10^3. Symbol - символ в кодировке Unicode.

Вывод: первое и последнее вхождение заданного символа в исходной строке.

Пример

1. str = "AbcAde"; symbol = 'A'; Answer = (0, 3)

2. str = "bbcAde"; symbol = 'A'; Answer = (3, 3)

3. str = "bbcdef"; symbol = 'A'; Answer = (-1, -1)

Идея: посимвольно обрабатываем исходную строку. В отдельной переменной храним кол-во вхождений заданного символа и запоминаем индекс его первого и последнего вхождения.

Реализация: в качестве реализации данного метода используем метод расширения в C# для строкового типа. В качестве выходного типа для метода используем кортеж вида Tuple<int, int>, где первый параметр - индекс первого вхождения, а второй - последнего вхождения заданного символа в исходную строку.

Подробнее про кортежи в C# вы можете почитать тут:

C#

https://gist.github.com/unilecs/465c9dc04b4f84e335c8f2a548f36ae1

Test:

https://dotnetfiddle.net/AmvTeq