Порахуємо кількість входжень літери '' у рядок, запам'ятавши індекси її першої та останньої появи.
Реалізація алгоритму
Рядок читаємо посимвольно до кінця (до символу ''). Індекс поточного символу зберігається в змінній . Кількість появ літери '' підраховуємо в змінній .
cnt = 0; ind = 0;
while(scanf("%c",&ch), ch != '\n')
{В змінних і зберігаємо індекси першої та останньої появи літери ''.
if (ch == 'f')
{Якщо зустрілася літера '' і вона з'являється вперше (змінна дорівнює ), то присвоюємо значення поточного індексу змінній .
if (cnt == 0) f = ind;Літера '' зустрілася не вперше (якщо cnt > 0). Присвоюємо змінній значення поточного індексу .
if (cnt > 0) s = ind;
cnt++;
}
ind++;
}Виводимо відповідь залежно від кількості входжень літери '' у рядок.
if (cnt == 1)
printf("%d\n",f);
else
if (cnt > 1)
printf("%d %d\n",f,s);Java реалізація
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 реалізація
Читаємо вхідний рядок.
s = input()Знаходимо індекси першого та останнього символа ''.
first_index = s.find('f')
last_index = s.rfind('f')Виводимо відповідь.
if first_index == -1:Літера '' не зустрічається.
pass
elif first_index == last_index:Літера '' зустрічається лише один раз.
print(first_index)
else:Літера '' зустрічається два і більше разів.
print(first_index, last_index)