Оголосімо дві змінні:
— індекс першого пробілу;
— індекс останнього пробілу;
Ініціалізуємо їх значеннями: a = b = -1. Далі перебираємо символи рядка . Якщо поточний символ є пробілом (s_i = ' '), то:
Якщо пробілів до цього не було (a = -1), встановлюємо a = i;
У будь-якому випадку оновлюємо b = i;
Після завершення перебору:
Якщо пробілів у рядку немає (a = -1), виводимо .
В іншому випадку виводимо індекси першого та останнього пробілу ( і ).
Реалізація алгоритму
Читаємо вхідний рядок.
getline(cin, s);Ініціалізуємо змінні і — індекси першого та останнього пробілів.
a = b = -1;
for (i = 0; i < s.size(); i++)Якщо поточний символ s_i пробіл, то:
якщо пробілів до цього не було (a = -1), встановлюємо a = i;
оновлюємо b = i;
if (s[i] == ' ')
{
if (a == -1) a = i;
b = i;
}Якщо пробілів у рядку немає (a = -1), виводимо . Інакше виводимо індекси першого та останнього пробілу.
if (a == -1) printf("-1\n");
else printf("%d %d\n", a, b);Python реалізація
Читаємо вхідний рядок.
s = input()Ініціалізуємо змінні і — індекси першого та останнього пробілів.
a = b = -1
for i in range(len(s)):Якщо поточний символ s_i пробіл, то:
якщо пробілів до цього не було (a = -1), встановлюємо a = i;
оновлюємо b = i;
if s[i] == ' ':
if a == -1: a = i
b = iЯкщо пробілів у рядку немає (a = -1), виводимо . Інакше виводимо індекси першого та останнього пробілу.
if a == -1:
print("-1")
else:
print(a, b)Python реалізація — find, rfind
Читаємо вхідний рядок.
s = input()Знаходимо індекси першого та останнього пробілу.
Функція find повертає індекс першого входження підрядка в рядку.
Функція rfind повертає індекс останнього входження підрядка в рядку.
Обидві функції повертають , якщо підрядок не знайдено.
a = s.find(' ')
b = s.rfind(' ')Якщо пробілів у рядку немає (a = -1), виводимо . Інакше виводимо індекси першого та останнього пробілу.
if a == -1:
print("-1")
else:
print(a, b)