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

Найти сумму последних k чисел дека python

30.06.2019, 00:09. Показов 5267. Ответов 8

Студворк — интернет-сервис помощи студентам
Вводятся числа, которые нужно занести в дек. (Или сразу: есть дек). После этого с ним совершаются некоторые операции (возможны удаление, добавление элементов) и между тем спрашивается, (вводится число k) какая на данный момент сумма k последних элементов в деке.
Я пробовала удалять элементы из основного дека и вставлять их во вспомогательный дек слева, попутно считая сумму, а потом склеивать деки. Это не проходит по времени в тестовой системе (не на всех тестах).
Python
1
2
3
4
5
6
7
8
        s = 0
        h = deque() #d - основной дек
        for _ in range(k):
            a = d.pop()
            h.appendleft(a)
            s += a
        d = d + h
        print(s)
Как оптимизировать код? Какие есть альтернативные способы решить задачу быстрее?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.06.2019, 00:09
Ответы с готовыми решениями:

Если последняя цифра первого числа чётная то найти сумму чисел, иначе найти произведение последних цифр чисел
Дано два двузначных числа. Если последняя цифра первого числа четная то найти сумму исходных чисел, иначе найти произведение последних цифр...

Используя модуль для реализации дека целых чисел, реализовать очередь на базе дека
Уважаемые программисты!Очень нужна Ваша помощь: (помогите решить, разобраться или хотябы просто объяснить алгоритм, с чего начинать, как...

Найти сумму и произведение последних цифр чисел
Помогите мне решить эти 4 задачки по Паскалю,а то не получается у меня её решить(( 3)Даны натуральные числа m и n.Найти сумму и...

8
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
30.06.2019, 09:58
Python
1
print(sum([d[i] for i in range(len(d)-1, k, -1)]))
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
30.06.2019, 12:31
iSmokeJC, ну, уж, короче , наверное не сделать).
0
0 / 0 / 0
Регистрация: 30.03.2019
Сообщений: 5
30.06.2019, 12:38  [ТС]
Это выводит неправильный ответ. Например, в деке (1, 5, 3, 4, 5) суммы последних 1, 2, .., 5 чисел равны соответственно 12, 9, 5, 0, 0 (что неверно)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
30.06.2019, 12:47
Python
1
print(sum([d[i] for i in range(len(d) - k - 1, len(d))]))
1
0 / 0 / 0
Регистрация: 30.03.2019
Сообщений: 5
30.06.2019, 17:11  [ТС]
Все еще неправильный ответ. (Для дека (1, 5, 3, 4, 5) суммы последних 1, 2, .., 5 чисел равны 9, 12, 17, 18, 23)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
30.06.2019, 17:45
4+5=9
3+4+5=12
5+3+4+5=17
Что неправильно?
0
0 / 0 / 0
Регистрация: 30.03.2019
Сообщений: 5
30.06.2019, 18:29  [ТС]
Точно, спасибо, извините, сразу не увидела. Просто 12, например, - сумма последних трех, когда я запрашивала сумму последних двух. Но это легко исправимо. Интересно, что тогда 23?

Добавлено через 10 минут
Но это все еще не проходит по памяти(
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
30.06.2019, 18:31
Цитата Сообщение от Elya_Cherry Посмотреть сообщение
Интересно, что тогда 23?
Намек - очередь кончается... и начинается опять с другой стороны. Это ж не стек
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.06.2019, 18:31
Помогаю со студенческими работами здесь

Найти сумму и произведение последних цифр двух чисел.
Даны натуральные числа m и n.Найти сумму и произведение их последних цифр.

Найти сумму и производную от последних цифр двух данных чисел
Даны натуральных числа m и n. Найти сумму и производную от последних цифр.

Вводится не менее восьми чисел. Конец ввода 0. Найти сумму первых пяти чисел и произведение последних пяти чи
Вводится не менее восьми чисел. Конец ввода 0. Найти сумму первых пяти чисел и произведение последних пяти чисел. Составить блок-схему и...

Найти сумму последних цифр всех четных чисел в заданном промежутке значений
в общем, вот задача: Написать программу на языке Си вычисления суммы последних цифр всех четных чисел в заданном диапазоне значений. ...

Найти сумму четных элементов ДЕКа
Всем привет! помогите пожалуйста с программой! нужно найти сумму четных элементов ДЕКа на с++


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
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