димон-лимооооооооооон Д димон-лимооооооооооон Регистрация 3 Дек 2013 Сообщения 67 Репутация 0 Спасибо 0 Монет 0 27 Фев 2024 #1 Есть написанный код, но тест его не принимает, Ограничение времени-1 секунда. В голову не приходит, как его ускорить? def stones_from_mars(ordered_weights, delivered_weights): ordered_weights.sort() delivered_weights.sort() count = 0 used = set() for weight in delivered_weights: j = 0 while j < len(ordered_weights): if ordered_weights[j]
Есть написанный код, но тест его не принимает, Ограничение времени-1 секунда. В голову не приходит, как его ускорить? def stones_from_mars(ordered_weights, delivered_weights): ordered_weights.sort() delivered_weights.sort() count = 0 used = set() for weight in delivered_weights: j = 0 while j < len(ordered_weights): if ordered_weights[j]
михаи М михаи Регистрация 23 Дек 2013 Сообщения 81 Репутация 0 Спасибо 0 Монет 0 27 Фев 2024 #2 Всё правильно.
mrice M mrice Регистрация 1 Май 2013 Сообщения 75 Репутация 0 Спасибо 0 Монет 0 27 Фев 2024 #3 ''' заказ - поставка поставить не менее заказанного максимально удовлетворить заказы ''' order = [8, 5, 5, 8, 6, 9, 8, 2, 4, 7] # заказ shipment=[9, 8, 1, 1, 1, 5, 10, 8 ] # поставка order.sort() shipment.sort() while shipment[0]order[0]: # подходящий? result.append((shipment[0],order[0])) # заносим в список вып заказа order.pop(0) # убираем удовл требование shipment.pop(0) # убираем проверенный print('(поставлка, заказ)\n',result)
''' заказ - поставка поставить не менее заказанного максимально удовлетворить заказы ''' order = [8, 5, 5, 8, 6, 9, 8, 2, 4, 7] # заказ shipment=[9, 8, 1, 1, 1, 5, 10, 8 ] # поставка order.sort() shipment.sort() while shipment[0]order[0]: # подходящий? result.append((shipment[0],order[0])) # заносим в список вып заказа order.pop(0) # убираем удовл требование shipment.pop(0) # убираем проверенный print('(поставлка, заказ)\n',result)
Сеергоо С Сеергоо Регистрация 5 Сен 2013 Сообщения 81 Репутация 0 Спасибо 0 Монет 0 27 Фев 2024 #4 Где текст задачи, которую код должен решить?
3e2w1q 3 3e2w1q Регистрация 19 Дек 2013 Сообщения 96 Репутация 0 Спасибо 0 Монет 0 27 Фев 2024 #5 А что тут ускорять, вычисляется пересечение двух массивов: заказано и получено камней с Марса, если я понял задание import random def stones_from_mars(ordered_weights, delivered_weights): ordered_weights.sort() delivered_weights.sort() matches = set(ordered_weights) & set(delivered_weights) return len(matches), matches ordered_weights = list(range(1, 21)) delivered_weights = [random.randint(1, 20) for _ in range(20)] print("Веса заказанных камней:", ordered_weights) print("Веса доставленных камней:", delivered_weights) result, matches = stones_from_mars(ordered_weights, delivered_weights) print("Количество совпадающих заказов и доставок:", result) print("Список совпадающих заказов и доставок:", matches)
А что тут ускорять, вычисляется пересечение двух массивов: заказано и получено камней с Марса, если я понял задание import random def stones_from_mars(ordered_weights, delivered_weights): ordered_weights.sort() delivered_weights.sort() matches = set(ordered_weights) & set(delivered_weights) return len(matches), matches ordered_weights = list(range(1, 21)) delivered_weights = [random.randint(1, 20) for _ in range(20)] print("Веса заказанных камней:", ordered_weights) print("Веса доставленных камней:", delivered_weights) result, matches = stones_from_mars(ordered_weights, delivered_weights) print("Количество совпадающих заказов и доставок:", result) print("Список совпадающих заказов и доставок:", matches)