Simli '' hərfinin girişlərinin sayını hesablayırıq, onun birinci və sonuncu meydana çıxma indekslərini yadda saxlayırıq.
Alqoritmin reallaşdırılması
Sətiri simvol-simvol oxuyuruq (simvol '' qədər). Cari simvolun indeksi dəyişənində saxlanılır. '' hərfinin meydana çıxmalarının sayını dəyişənində hesablayırıq.
cnt = 0; ind = 0;
while(scanf("%c",&ch), ch != '\n')
{və dəyişənlərində '' hərfinin birinci və sonuncu meydana çıxma indekslərini saxlayırıq.
if (ch == 'f')
{Əgər '' hərfi ilk dəfə rast gəlinirsə (dəyişən -a bərabərdirsə), cari indeksi dəyişəninə mənimsədik.
if (cnt == 0) f = ind;'' hərfi ilk dəfə rast gəlinməyibsə (əgər cnt > 0). dəyişəninə cari indeks dəyərini mənimsədik.
if (cnt > 0) s = ind;
cnt++;
}
ind++;
}Çıxış cavabını sətirdə '' hərfinin meydana çıxma sayından asılı olaraq veririk.
if (cnt == 1)
printf("%d\n",f);
else
if (cnt > 1)
printf("%d %d\n",f,s);Java reallaşdırılması
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
String str = con.nextLine();
int first = str.indexOf("f");
int last = str.lastIndexOf("f");
if (first != -1)
{
if (first == last) System.out.println(first);
else System.out.println(first + " " + last);
}
}
} Python reallaşdırılması
Giriş sətirini oxuyuruq.
s = input()Birinci və sonuncu '' simvolunun indekslərini tapırıq.
first_index = s.find('f')
last_index = s.rfind('f')Çıxış cavabını veririk.
if first_index == -1:'' hərfi rast gəlinmir.
pass
elif first_index == last_index:'' hərfi yalnız bir dəfə rast gəlinir.
print(first_index)
else:'' hərfi iki və daha çox dəfə rast gəlinir.
print(first_index, last_index)