0 / 0 / 0
Регистрация: 30.03.2019
Сообщений: 5

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

30.06.2019, 00:09. Показов 5285. Ответов 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 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru