Conversation
| @@ -0,0 +1,21 @@ | |||
| import random | |||
There was a problem hiding this comment.
Похоже вы прослушали то, что было в конце урока.
В функцию не превратили, "ускоритель" не добавили. И сортирует по возрастанию, а не по убыванию.
Да, разворот внизу есть. Но с таким же успехом можно все задачи решить через sorted.
| @@ -0,0 +1,28 @@ | |||
| import random | |||
There was a problem hiding this comment.
Это сортировка слиянием? )))
Куда потерялось условие задачи?
| a_result = [] | ||
| for i in range(N): | ||
| a_result.append(sum_(a[i])) | ||
| print(f'{a_result}') |
There was a problem hiding this comment.
Прочитал до конца код. Абсолютно уверен, что это не сортировка. Результаты вывода на экран подтверждают моё мнение. Что же это? )))
| M = 10 | ||
| N = 2 * M + 1 | ||
|
|
||
| l = [0] * N |
| :return: k-тый элемент l | ||
| """ | ||
| if len(l) == 1: | ||
| assert k == 0 |
There was a problem hiding this comment.
В половине запусков выпадаю тут с ошибкой
| x = sorted(l[:]) | ||
| print(f'sorted_list = {x}') | ||
|
|
||
| # With love to https://habr.com/post/346930/ |
|
|
||
| # With love to https://habr.com/post/346930/ | ||
|
|
||
| def nlogn_median(l): |
There was a problem hiding this comment.
Простое решение со встроенной сортировкой.
Хорошо, но расцениваю это как читерство высшего уровня.
| quickselect(l, len(l) / 2, pivot_fn)) | ||
|
|
||
|
|
||
| def quickselect(l, k, pivot_fn): |
|
|
||
| print(f'n*logn median = {nlogn_median(l)}') | ||
| print(f'quickselect_median = {quickselect_median(l, pivot_fn=random.choice)}') | ||
| print(f'determine O(n) = {pick_pivot(l)}') # что-то здесь пошло не так с медианой??? |
No description provided.