Індекси пробілів#8981

Індекси пробілів (Розбір)

Оголосімо дві змінні:

Ініціалізуємо їх значеннями: a = b = -1. Далі перебираємо символи рядка . Якщо поточний символ є пробілом (s_i = ' '), то:

Після завершення перебору:

Реалізація алгоритму

Читаємо вхідний рядок.

getline(cin, s);

Ініціалізуємо змінні і — індекси першого та останнього пробілів.

a = b = -1;
for (i = 0; i < s.size(); i++)

Якщо поточний символ s_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 пробіл, то:

  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()

Знаходимо індекси першого та останнього пробілу.

Обидві функції повертають , якщо підрядок не знайдено.

a = s.find(' ')
b = s.rfind(' ')

Якщо пробілів у рядку немає (a = -1), виводимо . Інакше виводимо індекси першого та останнього пробілу.

if a == -1:
  print("-1")
else:
  print(a, b)