Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 06.06.2020
Сообщений: 75

Асимптотическое время работы в наихудшем случае

27.05.2022, 18:08. Показов 1053. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, с решением

Для этого реализуйте функцию
- list_without_duplicates(numbers: list[int]) -> list[int].
Здесь numbers - отсортированный по возрастанию список целых чисел с len(numbers) ≥ 2. Функция возвращает список, содержащий те же значения, что и в числах, но с
каждое значение ровно один раз. Т.е. новый список содержит те же значения, что и номера, но без дубликатов. дубликаты. Его реализация должна отвечать следующим требованиям:

- Асимптотическое время работы в наихудшем случае должно быть в O(len(numbers)).
- Сортировка списка результатов должна соответствовать сортировке чисел.
- Вы можете изменить номера списков в своей реализации.
- Вы можете вернуть либо номера, либо новый список.

Функция test_duplicate_removal() для проверки вашей реализации.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
def list_without_duplicates(numbers: list[int]) -> list[int]:
    """
        Асимптотическое время работы в наихудшем случае: O(len(numbers))
        Предположения: числа отсортированы по возрастанию и len(numbers) >= 2
    """
    # TODO: 
    pass
 
 
def test_duplicate_removal():
    # if you do not find this code helpful, just replace by your own way of testing the function
    testsuite = [
        [1, 2, 3, 4, 5, 6, 7],
        [1, 1, 1, 1, 1, 1, 1],
        [1, 2],
        [-11, -11, -5, 35, 35, 41, 52, 52, 63, 63, 63]
    ]
 
    for test in testsuite:
        print(test)
        print(list_without_duplicates(test))
        print('-------')
 
def execute() -> None:
 
    test_duplicate_removal() 
 
 
if __name__ == '__main__':
    execute()
Code
1
2
3
4
list_without_duplicates([1, 2, 3, 4, 5, 6, 7]) возвращает [1, 2, 3, 4, 5, 6, 7].
list_without_duplicates([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) возвращает [1]
list_without_duplicates([1, 2]) возвращает [1, 2] 
list_without_duplicates([-11, -11, -5, 35, 35, 41, 52, 52, 63, 63, 63]) возвращает [-11, -5, 35, 41, 52, 63]
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.05.2022, 18:08
Ответы с готовыми решениями:

Используя О- символику, найдите время выполнения (как функции от N) процедуры или функции в наихудшем случае
Используя О- символику, найдите время выполнения (как функции от N) процедуры или функции в наихудшем случае. procedure mystery...

Как можно модифицировать почти каждый алгоритм, чтобы получить оптимальное время работы в наилучшем случае?)
Как можно модифицировать почти каждый алгоритм, чтобы получить оптимальное время работы в наилучшем случае?) Сегодня наткнулся у...

Посчитать время события - время работы кассиров (система массового обслуживания)
Есть программа, моделирующая следующую задачу (система массового обслуживания): В бухгалтерии предприятия имеются два кассира, каждый...

3
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
27.05.2022, 19:37
MelchiorxD, наихудший
Python
1
2
3
4
5
6
7
...
    arr = [numbers[0]]
    for elem in numbers:
        if elem>arr[-1]:
            arr.append(elem)
    return arr
...
0
1 / 1 / 0
Регистрация: 06.06.2020
Сообщений: 75
27.05.2022, 19:48  [ТС]
Gdez, выдает ошибку, как мне её лучше исправить?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def list_without_duplicates(numbers: list[int]) -> list[int]:
    
    arr = [numbers[0]]
    for elem in numbers:
        if elem>arr[-1]:
            arr.append(elem)
    return arr
 
 
 
 
def test_duplicate_removal():
 
    testsuite = [
        [1, 2, 3, 4, 5, 6, 7],
        [1, 1, 1, 1, 1, 1, 1],
        [1, 2],
        [-11, -11, -5, 35, 35, 41, 52, 52, 63, 63, 63]
    ]
 
    for test in testsuite:
        print(test)
        print(list_without_duplicates(test))
        print('-------')
 
 
def execute() -> None:
   
    test_duplicate_removal()  # Aufgabe 4
 
if __name__ == '__main__':
    execute()
Code
1
2
3
4
5
Traceback (most recent call last):
  File "C:\Users\***\source\repos\модуль2.py", line 3, in <module>
    def list_without_duplicates(numbers: list[int]) -> list[int]:
TypeError: 'type' object is not subscriptable
Для продолжения нажмите любую клавишу . . .
0
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
27.05.2022, 21:12
Лучший ответ Сообщение было отмечено MelchiorxD как решение

Решение

MelchiorxD, попробуй вместо
Python
1
def list_without_duplicates(numbers: list[int]) -> list[int]
так
Python
1
def list_without_duplicates(numbers: list) -> list
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2022, 21:12
Помогаю со студенческими работами здесь

Определить общее время работы прибора используя структуру Время
Создайте структуру время с элементами часы, минуты. Реализовать следующую задачу - у прибора зафиксировано время начала работы и время...

Во время работы приложения, звук исчезает через некоторое время
Доброго всем суток. Разработал одно прижение, нажимаешь кнопки и соответствующее слово озвучивается. Через 15-20 итераций, звук вовсю...

Выводить текущее время в определенные позиции консоли во время работы
Портирую консольное приложение. Есть код, который работал после компиляции в BC++ 3.1, после компиляции под MinGW GCC программа не...

Вывести время работы системы и перезагрузить её, если время превысило заданное значение
Собственно говоря нужно в powershell написать скрипт, выводящий время работы системы и отправляющий систему в перезагрузку, если время...

Как узнать время работы ноутбука с последней установленной Windows 11 (не общее время)
Здравствуйте, мне необходимо узнать время работы ноутбука именно с момента установки винды, не включая время работы с другими операционными...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru