Skip to content
This repository was archived by the owner on Apr 18, 2019. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# **Python.Basic-course**
Education
Алгоритмы и структуры данных на Python. Базовый курс. Учебные задания на портале GeekBrains.
Education
Алгоритмы и структуры данных на Python. Базовый курс.
Учебные задания на портале GeekBrains.

## **Lesson 1**

Expand Down Expand Up @@ -66,3 +67,7 @@ Education

1. Отсортируйте по убыванию методом "пузырька" одномерный целочисленный массив, заданный случайными числами на промежутке [-100; 100). Выведите на экран исходный и отсортированный массивы. Сортировка должна быть реализована в виде функции. По возможности доработайте алгоритм (сделайте его умнее).
2. Отсортируйте по возрастанию методом слияния одномерный вещественный массив, заданный случайными числами на промежутке [0; 50). Выведите на экран исходный и отсортированный массивы.

## **Lesson 8**

1. Определение количества различных подстрок с использованием хэш-функции. Пусть дана строка S длиной N, состоящая только из маленьких латинских букв. Требуется найти количество различных подстрок в этой строке.
16 changes: 16 additions & 0 deletions lesson-08/lesson-08.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
'''1. Определение количества различных подстрок с использованием хэш-функции.
Пусть дана строка S длиной N, состоящая только из маленьких латинских букв.
Требуется найти количество различных подстрок в этой строке.'''

import hashlib

string = input('Введите строку, состоящую только из маленьких латинских букв')

sum_substring = set()

for i in range(len(string)):
for j in range(len(string), i, -1):
hash_str = hashlib.sha1(string[i:j].encode('utf-8')).hexdigest()
sum_substring.add(hash_str)

print(f'{len(sum_substring) -1} различных подстрок в строке {string}')