Boşluqların indeksləri#8981

Boşluqların indeksləri (Həll təhlili)

İki dəyişən təyin edək:

Onları bu qiymətlərlə başlayırıq: a = b = -1. Sonra sətir -in simvollarını yoxlayırıq. Əgər cari simvol boşluq (s_i = ' ') olarsa:

Yoxlama bitdikdən sonra:

Alqoritmin tətbiqi

Giriş sətirini oxuyuruq.

getline(cin, s);

Dəyişənləri və — ilk və sonuncu boşluğun indekslərini təyin edirik.

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

Əgər cari simvol s_i boşluqsa, onda:

  if (s[i] == ' ')
  {
    if (a == -1) a = i;
    b = i;
  }

Əgər sətirdə boşluq yoxdursa (a = -1), çıxış edirik. Əks halda ilk və sonuncu boşluğun indekslərini çıxış edirik.

if (a == -1) printf("-1\n");
else printf("%d %d\n", a, b);

Python tətbiqi

Giriş sətirini oxuyuruq.

s = input()

Dəyişənləri və — ilk və sonuncu boşluğun indekslərini təyin edirik.

a = b = -1
for i in range(len(s)):

Əgər cari simvol s_i boşluqsa, onda:

  if s[i] == ' ':
    if a == -1: a = i
    b = i

Əgər sətirdə boşluq yoxdursa (a = -1), çıxış edirik. Əks halda ilk və sonuncu boşluğun indekslərini çıxış edirik.

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

Python tətbiqi — find, rfind

Giriş sətirini oxuyuruq.

s = input()

İlk və sonuncu boşluğun indekslərini tapırıq.

Hər iki funksiya alt sətir tapılmadıqda qaytarır.

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

Əgər sətirdə boşluq yoxdursa (a = -1), çıxış edirik. Əks halda ilk və sonuncu boşluğun indekslərini çıxış edirik.

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