Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 08.01.2024
Сообщений: 3

Подсчет чисел больших или равных из 2 списков

08.01.2024, 12:48. Показов 753. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Помогите, пожалуйста, оптимизировать решение следующей задачи:
Есть два списка: список заказанных образцов с определённым весом и список весов имеющихся образцов (orders и samples). Необходимо написать программу, подсчитывающую количество выполненных заказов, заказ выполнен, если вес образца равен или выше заказанного.
Я написал следующее решение:
Python
1
2
3
4
5
6
7
8
9
10
11
orders = [int(order) for order in input().split()]
samples = [int(sample) for sample in input().split()]
orders.sort(reverse=True)
count = 0
for order in orders:
    for i in range(len(samples)):
        if samples[i] >= order:
            count += 1
            del samples[i]
            break
print(count)
Данное решение работает, но не проходит по времени выполнения. NymPy использовать нельзя. Как оптимизировать алгоритм не приходит в голову.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.01.2024, 12:48
Ответы с готовыми решениями:

Найти количество чисел, больших или равных 1.5, и подсчитать сумму отрицательных чисел
Произвести следующую обработку 10 вещественных чисел: найти количество чисел, больших или равных 1,5, и подсчитать сумму отрицательных ...

Ввести 6 значений и посчитать сумму чисел, больших 4 и меньших или равных 7
Помогите пожалуйста с задачей: Написать программу, которая введет 6 значений и посчитает сумму чисел, больших 4 и меньших или равных 7.

Найти количество чисел равных или больших 50
Пользователь указывает количество чисел которые выберет компьютер от 1 до 100. Найти количество чисел равных или больших 50.

5
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
08.01.2024, 16:24
K_Y, как вариант - вместо внутреннего цикла предварительно отсортировать samples и с помощью bisect_right искать в нем позицию элемента order
1
0 / 0 / 0
Регистрация: 08.01.2024
Сообщений: 3
08.01.2024, 16:45  [ТС]
Gdez, не совсем понимаю, а как поможет позиция элемента order?
0
 Аватар для Aviz__
2757 / 2064 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
08.01.2024, 16:59
Цитата Сообщение от K_Y Посмотреть сообщение
а как поможет позиция элемента order?
как сейчас работает твое решение, расскажи нам, пожалуйста?
1
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
08.01.2024, 17:02
K_Y, https://docs-python.ru/standar... ect-right/
Сложность - логарифмическая, вместо O(N)
1
0 / 0 / 0
Регистрация: 08.01.2024
Сообщений: 3
08.01.2024, 17:52  [ТС]
Цитата Сообщение от Aviz__ Посмотреть сообщение
как сейчас работает твое решение, расскажи нам, пожалуйста?
Начал писать ответ на этот вопрос и в голову пришло решение
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
n = int(input())
orders = [int(order) for order in input().split()]
m = int(input())
samples = [int(sample) for sample in input().split()]
 
orders.sort(reverse=True)
samples.sort(reverse=True)
 
count = 0
iter = 0
 
for order in orders:
    if len(samples) == 0:
        break
    if order > samples[0]:
        continue
    for iter in range(m):
        if order <= samples[iter]:
            count += 1
            del samples[iter]
            break
print(count)
Всем спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.01.2024, 17:52
Помогаю со студенческими работами здесь

В массиве b1, b2, ..., b30 найти произведение чисел больших или равных 5.
В массиве b1, b2, ..., b30 найти произведение чисел больших или равных 5.

В массиве b1, b2, ., b30 найти произведение чисел больших или равных 5
В массиве b1, b2, ..., b30 найти произведение чисел больших или равных 5

Даны 3 числа. Найти сумму чисел больших или равных 12
Даны 3 числа.Найти сумму чисел больше или равной 12?

Найти количество чисел больших или равных заданному числу
Произвести следующую обработку 10 вещественных чисел: найти количество чисел, больших или равных 1,5, и подсчитать сумму отрицательных...

Вывести список чисел, больших или равных a и меньших b, которые делятся на c
Напишите программу, которая будет получать от пользователя три числа (a, b и c), а затем выводить список чисел, больших или равных a и...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru