140.15K
Category: programmingprogramming

Обработка символьных строк. Метод двух указателей. Задание №24

1.

ЗАДАНИЕ №24
ОБРАБОТКА СИМВОЛЬНЫХ СТРОК.
МЕТОД ДВУХ УКАЗАТЕЛЕЙ

2.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите
максимальное количество идущих подряд символов, среди которых каждая из букв C и D
встречается не более двух раз.
s = 'hecqcwddrcdece'
kc = 0
#кол-во символов'c'
kd = 0
#кол-во символов'd'
m_s = 0
#максимальная длина искомой подстроки
L=0
#левая граница(указатель) текущей подстроки
R=0
#правая граница(указатель) текущей подстроки
for R in range(len(s)):
if s[R]=='c':
kc+=1
if s[R]=='d':
kd+=1
while kc>2 or kd>2:
if s[L]=='c':
kc-=1
if s[L]=='d':
kd-=1
L+=1
m_s=max(m_s,R-L+1)
print(m_s)

3.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 0
kc = 0
kd = 0
Len(s) = 14
L = 0 – левый(край) указатель
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R = 0 – правый указатель
Длина фрагмента (R – L + 1)

4.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 1
kc = 0
kd = 0
Len(s) = 14
L=0
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=0
Длина фрагмента (R – L + 1) = 0 – 0 + 1 = 1

5.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 2
kc = 0
kd = 0
Len(s) = 14
L=0
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=1
Длина фрагмента (R – L + 1)= 2

6.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 3
kc = 1
kd = 0
Len(s) = 14
L=0
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=2
Длина фрагмента (R – L + 1)= 3

7.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 4
kc = 1
kd = 0
Len(s) = 14
L=0
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=3
Длина фрагмента (R – L + 1)= 4

8.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 4
kc = 2
kd = 0
Len(s) = 14
L=0
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=4
Длина фрагмента (R – L + 1)= 5

9.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 6
kc = 2
kd = 0
Len(s) = 14
L=0
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=5
Длина фрагмента (R – L + 1)= 6

10.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 7
kc = 2
kd = 1
Len(s) = 14
L=0
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=6
Длина фрагмента (R – L + 1)= 7

11.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 8
kc = 2
kd = 2
Len(s) = 14
L=0
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=7
Длина фрагмента (R – L + 1)= 8

12.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 2
kd = 2
Len(s) = 14
L=0
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=8
Длина фрагмента (R – L + 1)= 9

13.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 3
kd = 2
Len(s) = 14
L=0
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=9
Длина фрагмента (R – L + 1)= 9

14.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 3
kd = 2
Len(s) = 14
L=1
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=9
Длина фрагмента (R – L + 1)= 9

15.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 3
kd = 2
Len(s) = 14
L=2
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=9
Длина фрагмента (R – L + 1)= 8

16.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 2
kd = 2
Len(s) = 14
L=3
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R=9
Длина фрагмента (R – L + 1)= 7

17.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 2
kd = 3
Len(s) = 14
L=3
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R = 10
Длина фрагмента (R – L + 1)= 7

18.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 1
kd = 3
Len(s) = 14
L=4
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R = 10
Длина фрагмента (R – L + 1)= 7

19.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 1
kd = 3
Len(s) = 14
L=5
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R = 10
Длина фрагмента (R – L + 1)= 6

20.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 1
kd = 2
Len(s) = 14
L=6
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R = 10
Длина фрагмента (R – L + 1)= 5

21.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 1
kd = 2
Len(s) = 14
L=7
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R = 10
Длина фрагмента (R – L + 1)= 4

22.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 1
kd = 2
Len(s) = 14
L=7
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R = 11
Длина фрагмента (R – L + 1)= 5

23.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 2
kd = 2
Len(s) = 14
L=7
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R = 12
Длина фрагмента (R – L + 1)= 5

24.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 2
kd = 2
Len(s) = 14
L=7
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R = 13
Длина фрагмента (R – L + 1)=7

25.

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z).
Определите максимальное количество идущих подряд символов, среди которых
каждая из букв C и D встречается не более двух раз.
m_s = 9
kc = 2
kd = 2
Len(s) = 14
L=7
s
0
1
2
3
4
5
6
7
8
9
10
11
12
13
h
e
c
q
c
w
d
d
r
c
d
e
c
e
R = 13
Длина фрагмента (R – L + 1)=7
English     Русский Rules