From 212b93295571e400109615571aacde58468a0698 Mon Sep 17 00:00:00 2001 From: "dkamireddy@mail.ru" Date: Thu, 1 Apr 2021 17:37:29 +0300 Subject: [PATCH] 1-2 --- .../task_1.py" | 26 +++++++++---------- .../task_2.py" | 22 ++++++++++++++++ .../task_3.py" | 4 +++ 3 files changed, 39 insertions(+), 13 deletions(-) diff --git "a/\320\243\321\200\320\276\320\272 1. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1.py" "b/\320\243\321\200\320\276\320\272 1. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1.py" index 835c283b..51836feb 100644 --- "a/\320\243\321\200\320\276\320\272 1. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1.py" +++ "b/\320\243\321\200\320\276\320\272 1. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_1.py" @@ -28,7 +28,7 @@ def check_1(lst_obj): Сложность: !!!. """ - lst_to_set = set(lst_obj) # !!! + lst_to_set = set(lst_obj) # !!! O(n) return lst_to_set @@ -41,12 +41,12 @@ def check_2(lst_obj): что такой элемент отстутствует в оставшихся справа элементах - Сложность: !!!. + Сложность: !!! O(n^2) """ - for j in range(len(lst_obj)): # !!! - if lst_obj[j] in lst_obj[j+1:]: # !!! - return False # !!! - return True # !!! + for j in range(len(lst_obj)): # !!!O(n) + if lst_obj[j] in lst_obj[j+1:]: # !!!O(n) + return False # !!!O(1) + return True # !!!O(1) ############################################################################################# @@ -57,14 +57,14 @@ def check_3(lst_obj): Вначале выполним для списка сортировку, далее, сравниваем элементы попарно Если присутствуют дубли, они будут находиться рядом. - Сложность: !!! + Сложность: !!! O(n*log n) """ - lst_copy = list(lst_obj) # !!! - lst_copy.sort() # !!! - for i in range(len(lst_obj) - 1): # !!! - if lst_copy[i] == lst_copy[i+1]: # !!! - return False # !!! - return True # !!! + lst_copy = list(lst_obj) # !!! O(n) + lst_copy.sort() # !!! O(N log N) + for i in range(len(lst_obj) - 1): # !!! O(n) + if lst_copy[i] == lst_copy[i+1]: # !!! O(1) + return False # !!! O(1) + return True # !!! O(1) ############################################################################################# diff --git "a/\320\243\321\200\320\276\320\272 1. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2.py" "b/\320\243\321\200\320\276\320\272 1. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2.py" index 3a5eabbc..00c67da8 100644 --- "a/\320\243\321\200\320\276\320\272 1. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2.py" +++ "b/\320\243\321\200\320\276\320\272 1. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_2.py" @@ -17,3 +17,25 @@ Алгоритмизатор должен развивать мышление, а это прежде всего практика. А без столкновения со сложностями его не развить. """ + + +# O(n) +def minn_elem_1(spis): + min_elem = spis[0] + for i in range(len(spis)): + if min_elem > spis[i]: + min_elem = spis[i] + return min_elem + + +# O(n^2) +def minn_elem_2(spis): + for i in spis: + true_min = True + for j in range: + if i > j: + true_min = False + if true_min: + return i + + diff --git "a/\320\243\321\200\320\276\320\272 1. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3.py" "b/\320\243\321\200\320\276\320\272 1. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3.py" index e52aafcb..970383a3 100644 --- "a/\320\243\321\200\320\276\320\272 1. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3.py" +++ "b/\320\243\321\200\320\276\320\272 1. \320\237\321\200\320\260\320\272\321\202\320\270\321\207\320\265\321\201\320\272\320\276\320\265 \320\267\320\260\320\264\320\260\320\275\320\270\320\265/task_3.py" @@ -22,3 +22,7 @@ Реализуйте поиск трех компаний с наибольшей годовой прибылью. Выведите результат. """ + + + +