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

Увеличить скорость кода

29.01.2023, 00:05. Показов 869. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть вот такой код:
Python
1
2
3
4
5
6
7
8
9
x = input()
line = input()
count = 0
n = -1
while '><' in line:
    n = line.count('><')
    line = line.replace('><', '<>')
    count += n
print(count)
В некоторых тестах он не проходит по времени, как его ускорить?
Заранее всем спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.01.2023, 00:05
Ответы с готовыми решениями:

Как можно увеличить скорость программы?
Код в самом внизу. У меня есть матрица размером n x m. В ней нужно найти подматрицу наибольшей площади состоящих из отрицательных...

Как увеличить скорость
Добрый день! Написал код на питоне, ничего особенного создаётся список и потом в него добавляются определённые числа, некоторые умножаются,...

Как увеличить скорость программы
Мне нужно просто немного увеличить скорость работы этой программы a, b, k = map(int, input().split()) if a &gt; b: n = a ...

16
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
29.01.2023, 00:13
Arseniy_Ch,
В некоторых тестах он не проходит по времени, как его ускорить?
Выложить полное условие задачи…
3
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
29.01.2023, 00:50
Python
1
2
3
4
line = input()
n = line.count('<')
s = sum(i for i, v in enumerate(line) if v == '<')
print(s - n * (n-1) // 2)
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
29.01.2023, 08:19
Дай, угадаю: нужно посчитать сколько замен было произведено?

Добавлено через 2 минуты
Ну раза в два можно увеличить скорость, если не пользоваться str.count
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
29.01.2023, 08:36
Рыжий Лис, приведенный выше код уменьшает сложность алгоритма с квадратичного на линейный. И это вам не какие-то "в 2 раза"
1
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,761
29.01.2023, 08:55
Red white socks, ваш код и код ТС будут выдавать разные результаты, например, на строке '<<<<<<'. Так что нужна изначальная постановка задачи.
0
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
29.01.2023, 08:59
Arseniy_Ch, Первое, что бросилось в глаза - а первая строчка кода, она зачем?
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
29.01.2023, 09:36
Arseniy_Ch, даю тебе подсказку.
при таком преобразовании количество символов '>' и '<' в строке не изменится.
после преобразования строка будет иметь вид <...<<>>...>
1
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
29.01.2023, 09:40
Цитата Сообщение от u235 Посмотреть сообщение
Red white socks, ваш код и код ТС будут выдавать разные результаты, например, на строке '<<<<<<'. Так что нужна изначальная постановка задачи
u235, ????

Добавлено через 4 минуты
Ну запустил. Получил в обоих случаях ожидаемые нули. Какой еще "контрпример" будет?
1
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
29.01.2023, 09:50
Цитата Сообщение от u235 Посмотреть сообщение
Так что нужна изначальная постановка задачи
тут и так все понятно.
1
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,761
29.01.2023, 10:02
Red white socks, например такой:"<N<N<"
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
29.01.2023, 10:05
u235, что с вашим шаром случилось?
Очевидно же, что в строке только 2 различных символа)

Добавлено через 1 минуту
Но претензия принимается. Ждем подтверждения
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,761
29.01.2023, 10:11
Цитата Сообщение от Red white socks Посмотреть сообщение
Очевидно же, что в строке только 2 различных символа
Для меня это совершенно не очевидно...
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
29.01.2023, 10:32
Цитата Сообщение от u235 Посмотреть сообщение
Для меня это совершенно не очевидно...
Идея остается та же, только в задачу добавляется грязь, совершенно ненужная
0
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
29.01.2023, 13:40
Цитата Сообщение от Red white socks Посмотреть сообщение
Очевидно же, что в строке только 2 различных символа)
Если было-бы так, то len(line) / 2 решило бы задачу...
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
29.01.2023, 17:54
Цитата Сообщение от Parramon Посмотреть сообщение
Если было-бы так, то len(line) / 2 решило бы задачу...
Parramon, а вы попробуйте. Тут же все просто
Python
1
2
3
from random import choices
 
line = ''.join(choices('<>', k=20))
И честно посчитайте. И посмотрим - решило бы или нет.
0
740 / 622 / 151
Регистрация: 04.03.2022
Сообщений: 1,272
29.01.2023, 18:46
Red white socks, Я написал "Еслт бы".
Python
1
2
3
4
5
6
7
8
9
10
11
12
line = '><<<<<<<<<<<<<<<<'
count = 0
n = -1
while '><' in line:
    n = line.count('><')
    line = line.replace('><', '<>')
    count += n
print(count)
line = '><<<<<<<<<<<<<<<<'
n = line.count('<')
s = sum(i for i, v in enumerate(line) if v == '<')
print(s - n * (n-1) // 2)
Bash
1
2
16
16
Сорри, сначала не заметил, что строка меняется
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.01.2023, 18:46
Помогаю со студенческими работами здесь

Как увеличить скорость опроса веб морды?
В чём суть, есть несколько IP камер, и нужно следить за тем чтоб они находились в сети. Было принято решение просто либо пинговать их либо...

Как увеличить скорость при работе с большими списками?
задача найти сумму медиан каждой подпоследовательности длины i для всех i=1,n последовательности длины n. я делаю через цикл for, с...

Улучшить производительность и увеличить скорость загрузки-выгрузки файлов
Добрый день, программисты) Есть код бота Телеграм, который ждет запроса от пользователя, скачивает и отправляет аудио пользователю. ...

Увеличить скорость выполнения кода
Здравствуйте. Суть: есть значения аргумента функции (inputP_W_1W) и значения самой функции (gain). У меня есть набор чисел (powerImp), для...

Как увеличить размерность кода (увеличить время работы потока)
Код все работает, но работает быстро, время работы потока 0,004931 примерно секунд, а нужно чтобы было 1 сек или больше. Поэтому учитель...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
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. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru