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

Оптимизация кода

24.02.2020, 15:11. Показов 841. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мы будем работать с набором слов. Ваша задача — выписать все слова, которые являются анаграммами друг для друга, например «замок» и «мазок». Проверка слов должна быть регистронезависимой. Слова, для которых анаграммой является только оно само, выписывать не нужно, даже если это слово встречается в тексте в разном регистре.

Формат ввода
В первой строке идёт целое число n (1 ≤ n ≤ 100 000), количество исходных слов.

Далее следует n слов, по одному слову в строке, слова могут идти в разном регистре!

Формат вывода
В одной строке должны идти слова, которые являются анаграммами друг для друга, в нижнем регистре, через пробел. Порядок слов — лексикографический (как в словаре). Порядок строк так же лексикографический.

вот мой код, надо оптимизировать, ибо при вводе в 100000 строк не укладывается в 4 с:
Python
1
2
3
4
5
6
7
8
9
10
lst = [[input().lower()] for i in range(int(input()))]
for i in range(len(lst) - 1):
    for el in lst[i + 1:]:
        if sorted(el[0]) == sorted(lst[i][0]):
            lst[i].append(el[0])
            lst.remove(el)
lst = sorted(lst)
for el in lst:
    a = sorted(el)
    print(' '.join(a))
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.02.2020, 15:11
Ответы с готовыми решениями:

Оптимизация кода
Добрый день, прорешивая разные задачки, зачастую мне удавалось добиться результата, чтобы код проходил проверку, но вот его качество, даже...

Оптимизация кода
Оптимизируйте пожалуйста эти коды: s = input() res = set() for i in range(len(s)): for j in range(i, len(s)): if sum(...

Оптимизация кода
Коллеги, здравствуйте! Как можно оптимизировать код, долго что-то выполняется import math from collections import Counter ...

4
 Аватар для Semen-Semenich
5233 / 3478 / 1175
Регистрация: 21.03.2016
Сообщений: 8,306
24.02.2020, 15:18
YayGuy4618,
если в поиск по форуму вбить анаграммы то
0
16 / 14 / 12
Регистрация: 02.10.2015
Сообщений: 44
24.02.2020, 21:01
Попробуй так

Python
1
2
3
4
5
6
7
8
9
10
11
from collections import defaultdict
 
n = int(input())
group = defaultdict(list)
 
for _ in range(n):
    word = input().lower()
    group[tuple(sorted(word))].append(word)
 
stringify = [' '.join(sorted(words)) for words in group.values() if len(words) > 1]
print(*sorted(stringify), sep='\n')
0
0 / 0 / 0
Регистрация: 24.02.2020
Сообщений: 2
25.02.2020, 05:37  [ТС]
теперь не проходит по ограничению памяти 64 мб..........
0
16 / 14 / 12
Регистрация: 02.10.2015
Сообщений: 44
25.02.2020, 07:33
Может так

Python
1
2
3
4
5
6
7
8
9
10
11
from collections import defaultdict
 
n = int(input())
group = defaultdict(list)
 
for _ in range(n):
    word = input().lower()
    group[tuple(sorted(word))].append(word)
 
stringify = (' '.join(sorted(words)) for words in group.values() if len(words) > 1)
print(*sorted(stringify), sep='\n')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.02.2020, 07:33
Помогаю со студенческими работами здесь

Оптимизация кода
это код, который ищет в тексте пользователя самое большое расстояние между двумя одинаковыми символами, как его можно оптимизировать? ...

Оптимизация кода
Добрый день! Я только учусь и столкнулся с такой проблемой: Задание на кодварсе следующее: есть целые числа от m до n включительно. Нужно...

Оптимизация скорости кода
a=2 b=3 c=5 d=50 your=int(input("Введите ваш баланс:")) def proga(x): for i in range(0,x+1): for w in range(0,x+1): ...

Оптимизация кода | requests
Доброго дня! Пытаюсь оптимизировать код и ускорить получния запрсов на сайт. Как смог оптимизировал свой код. Работает в одном потоке....

Python. Оптимизация кода
Здравствуйте всем! Я недавно начал заниматься питоном и во время решения одной из моих задач, столкнулся с проблемой. Код, слишком...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru