Skip to content
This repository was archived by the owner on Apr 18, 2019. It is now read-only.

Commit fcef1e0

Browse files
Merge pull request #8 from dmitryrubtsov/lesson-08
Lesson 08 has been checked.
2 parents 0a3c02a + fff720c commit fcef1e0

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# **Python.Basic-course**
2-
Education
3-
Алгоритмы и структуры данных на Python. Базовый курс. Учебные задания на портале GeekBrains.
2+
Education
3+
Алгоритмы и структуры данных на Python. Базовый курс.
4+
Учебные задания на портале GeekBrains.
45

56
## **Lesson 1**
67

@@ -66,3 +67,7 @@ Education
6667

6768
1. Отсортируйте по убыванию методом "пузырька" одномерный целочисленный массив, заданный случайными числами на промежутке [-100; 100). Выведите на экран исходный и отсортированный массивы. Сортировка должна быть реализована в виде функции. По возможности доработайте алгоритм (сделайте его умнее).
6869
2. Отсортируйте по возрастанию методом слияния одномерный вещественный массив, заданный случайными числами на промежутке [0; 50). Выведите на экран исходный и отсортированный массивы.
70+
71+
## **Lesson 8**
72+
73+
1. Определение количества различных подстрок с использованием хэш-функции. Пусть дана строка S длиной N, состоящая только из маленьких латинских букв. Требуется найти количество различных подстрок в этой строке.

lesson-08/lesson-08.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
'''1. Определение количества различных подстрок с использованием хэш-функции.
2+
Пусть дана строка S длиной N, состоящая только из маленьких латинских букв.
3+
Требуется найти количество различных подстрок в этой строке.'''
4+
5+
import hashlib
6+
7+
string = input('Введите строку, состоящую только из маленьких латинских букв')
8+
9+
sum_substring = set()
10+
11+
for i in range(len(string)):
12+
for j in range(len(string), i, -1):
13+
hash_str = hashlib.sha1(string[i:j].encode('utf-8')).hexdigest()
14+
sum_substring.add(hash_str)
15+
16+
print(f'{len(sum_substring) -1} различных подстрок в строке {string}')

0 commit comments

Comments
 (0)