Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.74/77: Рейтинг темы: голосов - 77, средняя оценка - 4.74
1 / 1 / 0
Регистрация: 07.03.2021
Сообщений: 125

Дана строка. Известно, что она содержит ровно две одинаковые буквы. Найдите эти буквы

09.04.2021, 14:25. Показов 18475. Ответов 43

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

Входные данные

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

Выходные данные

Необходимо вывести букву, которая встречается в строке дважды.


For example:

Input
abac

Result
a
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.04.2021, 14:25
Ответы с готовыми решениями:

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

Известно, что строка содержит ровно две одинаковые буквы. Найдите эти буквы
Всем привет. Мне нужна помощь, пожалуйста! Дана строка. Известно, что она содержит ровно две одинаковые буквы. Найдите эти буквы....

Дана строка, найти, содержит ли она буквы от а до е
Дана строка, найти, содержит ли она буквы от а до е Пожалуйста целую программу в турбо по скале

43
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.06.2024, 14:28
volodin661, что-то не так?
0
 Аватар для volodin661
7109 / 2321 / 352
Регистрация: 10.12.2013
Сообщений: 7,997
20.06.2024, 14:34
конечно, не так;
жадная звизда найдёт сколь угодно много совпадений, а не ровно два.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.06.2024, 14:36
Ну. Все так и задумано. При чем тут два совпадения?
0
 Аватар для volodin661
7109 / 2321 / 352
Регистрация: 10.12.2013
Сообщений: 7,997
20.06.2024, 14:40
Цитата Сообщение от Nilita Посмотреть сообщение
Дана строка. Известно, что она содержит ровно две одинаковые буквы. Найдите эти буквы
!!!
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.06.2024, 14:42

А то, что там .* захватит - до лампочки
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.06.2024, 14:44
Цитата Сообщение от Nilita Посмотреть сообщение
Гарантируется, что повторяются буквы только одного вида.
если что

Добавлено через 45 секунд
volodin661, если регулярка неправильная, приведи пример входных данных, которые она не вывозит
0
 Аватар для volodin661
7109 / 2321 / 352
Регистрация: 10.12.2013
Сообщений: 7,997
20.06.2024, 14:45
хотя.. условие кривовато, да
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.06.2024, 14:46
Да, при желании, трактовать можно многими вариантами
0
 Аватар для volodin661
7109 / 2321 / 352
Регистрация: 10.12.2013
Сообщений: 7,997
20.06.2024, 14:48
Цитата Сообщение от Nilita Посмотреть сообщение
Гарантируется, что повторяются буквы только одного вида
а что такое буквы одного вида ?

a , а вот это одного вида или разного ? ( первая latin, вторая cyrillic )
0
0 / 0 / 1
Регистрация: 20.06.2024
Сообщений: 7
20.06.2024, 14:57
Python
1
2
3
4
5
6
7
s = input()
abc = [0] * 26
i = 0
while abc[ord(s[i]) - ord('a')] < 1:
    abc[ord(s[i]) - ord('a')] += 1
    i += 1
print(s[i])
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.06.2024, 15:03
Alex Frost, давай еще раз 10 выложи, мы тут с первого раза не не понимаем
0
0 / 0 / 1
Регистрация: 20.06.2024
Сообщений: 7
20.06.2024, 15:12
Цитирую условие: "Известно, что она содержит ровно две одинаковые буквы." Нам это гарантируют. И изначально автор этой задачи подразумевал английский алфавит, с русским текстом никто не работает. А по поводу кода, там действительно нет ничего лишнего. Ваше решение и другие решения через словари и метод count не для всех, т.к. некоторые эти темы еще попросту не проходили.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.06.2024, 15:21
Вот мое решение например. Где там словари и count() ?
Цитата Сообщение от Alex Frost Посмотреть сообщение
там действительно нет ничего лишнего
А теперь сравни с моим решением и ответь - действительно ничего лишнего?
Цитата Сообщение от Alex Frost Посмотреть сообщение
И изначально автор этой задачи подразумевал английский алфавит, с русским текстом никто не работает.
Это откуда такое утверждение?

Добавлено через 3 минуты
Ничего лишнего?
Цитата Сообщение от Alex Frost Посмотреть сообщение
abc = [0] * 26
Ненужный список, который ты наполняешь по два раза проводя одни и те же операции.
Цитата Сообщение от Alex Frost Посмотреть сообщение
ord(s[i]) - ord('a')
Добавлено через 1 минуту
Даже если повторяющиеся буквы идут одна за одной, твой код прокрутится максимальное количество раз.
0
 Аватар для volodin661
7109 / 2321 / 352
Регистрация: 10.12.2013
Сообщений: 7,997
20.06.2024, 15:34
Цитата Сообщение от Alex Frost Посмотреть сообщение
некоторые эти темы еще попросту не проходили
некоторые женятся, а некоторые так. что мешает их пройти ?
0
0 / 0 / 1
Регистрация: 20.06.2024
Сообщений: 7
20.06.2024, 15:37
Я не знаю, как на этом сайте цитировать.
Первый вопрос касательно вашего решения: там используется дополнительная библиотека, использование которой может быть запрещено и ваше решение далеко не всем будет полезно.

По поводу языка, ни в одной из олимпиад я еще не видел входных данных на русском языке. Это как само собой разумеющееся.

По поводу abc = [0] * 26. 26 операций это ерунда, пайтон способен 1*10^6 операций в секунду обрабатывать, а тут всего 26, в этом нет ничего страшного, да, словари и множества использовать было бы лучше, но опять же, не всем их можно использовать для решения.

По поводу вот этого: "Даже если повторяющиеся буквы идут одна за одной, твой код прокрутится максимальное количество раз." В корне не согласен... Вы похоже совсем не понимаете как работает цикл while. Используйте Debug, чтобы разобраться как работает мой код

Добавлено через 1 минуту
volodin661, преподаватель не разрешает использовать другие темы для решения, проходи на здоровье, никто не мешает, а вот использовать нельзя
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.06.2024, 15:38
Python
1
2
3
4
5
s = input()
for i, e in enumerate(s, 1):
    if e in s[i:]:
        print(e)
        break
Где. Тут. Дополнительные. Библиотеки???
Цитата Сообщение от Alex Frost Посмотреть сообщение
Вы похоже совсем не понимаете как работает цикл while
Да куда уж нам, сирым...
0
 Аватар для volodin661
7109 / 2321 / 352
Регистрация: 10.12.2013
Сообщений: 7,997
20.06.2024, 15:41
Alex Frost,
про преподавателя в теме и в условии задачи нет ни одного слова.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
20.06.2024, 15:44
Цитата Сообщение от Alex Frost Посмотреть сообщение
По поводу abc = [0] * 26. 26 операций это ерунда
Здесь одна операция, а не 26. Есличо
0
 Аватар для volodin661
7109 / 2321 / 352
Регистрация: 10.12.2013
Сообщений: 7,997
20.06.2024, 15:45
слышал я, что в америке забраковали побег из шоушенка, поскольку заключенный использовал запрещённый в тюрьме молоточек.
1
0 / 0 / 1
Регистрация: 20.06.2024
Сообщений: 7
20.06.2024, 15:48
s = input()
for i, e in enumerate(s, 1):
if e in s[i:]:
print(e)
break

В этом решение ужасная асимптотическая сложность.
Сколько действий пайтон затрачивает, чтобы найти что-то в строке?
Говорю вот про эту операцию "if e in s[i:]:"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.06.2024, 15:48

Ввести массив символов из 10 элементов, содержащий две одинаковые буквы. Определить эти буквы
Ввести массив символов из 10 элементов, содержащий две одинаковые буквы. Определить эти буквы. помогите пожалуйста на node.js ...

Ввести массив символов из 10 элементов, содержащий две одинаковые буквы. Определить эти буквы
Ввести массив символов из 10 элементов, содержащий две одинаковые буквы. Определить эти буквы. помогите пожалуйста на питоне Спасибо

Определить вероятности того, что регистр содержит ровно две одинаковые цифры; регистр содержит ровно две пары одинаковых цифр
Регистр калькулятора содержит 8 разрядов. Считая, что появление любого числа равновероятно, определить вероятности следующих событий: C =...

Дана строка из 25 слов. Вывести на экран все слова строки, содержащие ровно две буквы D
Дана строка из 25 слов. Вывести на экран все слова строки, содержащие ровно две буквы D. Заранее спасибо =)

4. Дана строка текста. Известно, что в ней есть цифры и буквы.
Очень надеюсь на вашу помощь. Дана строка текста. Известно, что в ней есть цифры и буквы. Переписать в другую строку только буквы...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
[golang] Insert Delete GetRandom O(1) (Leetcode: 380)
alhaos 16.06.2026
Insert Delete GetRandom O(1) Сложность: Medium Источник: LeetCode 380 Задача Реализовать структуру данных RandomizedSet, которая поддерживает следующие операции за O(1) в среднем:
Свет в конце тоннеля
kumehtar 16.06.2026
Поймал себя на одной мысли. Раньше мне всегда казалось неправильным жить без чёткого понимания, куда всё идёт. Будто я иду по дороге судьбы, но не знаю, куда она ведёт. А раз не знаю — значит,. . .
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
Min Stack Сложность: Medium Источник: LeetCode 155 Задача: Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1). Методы:
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru