Удалить повторяющиеся буквы из каждого слова в строке - PullRequest
0 голосов
/ 12 ноября 2018

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

# option 1:
def checkDuplicates(string):
    postCheck = ""
    previousChar = None
    for currentChar in string:
        if currentChar != previousChar:
            postCheck += currentChar
            previousChar = currentChar
    return postCheck.title()

# option 2:
def checkDuplicates2(string):
    scanned = set()
    postCheck = ""
    for currentChar in string:
        if currentChar not in scanned:
            scanned.add(currentChar)
            postCheck += currentChar
    return postCheck.title()

Тестирование:

>>> print(checkDuplicates("llaatteerr")
Later
>>> print(checkDuplicates2("llaatteerr")
Later

Теперь, допустим, я хочу сделатьто же самое, но в цепочке слов, где я должен перебирать каждое слово в строке.Если в слове есть дубликаты, удалите дублирующий символ.Если второе слово содержит символы, видимые в первом, это не имеет значения - каждое слово имеет свой регистр.Так, например:

>>> checkDup("llaatteerr tthhoouugghhtt")
Later Thought

Итак, для этого я создал вторую функцию:

def checkDupInWords(words):
    postCheck = ""
    for word in words.split():
        postCheck += f"{checkDuplicates(word)} "
    return postCheck

test:

>>>print(checkDupInWords("llaatteerr llaatteerr llaatteerr"))
Later Later Later

Теперь мой вопросЧто, если одно слово содержит повторяющиеся буквы, и они являются значимыми дубликатами (например, «Леонардо»). Является ли эта задача выполнимой и заслуживающей выполнения в краткосрочной перспективе?Или это что-то, что требует знания лингвистики и использования внешних библиотек?

Дополнительный вопрос: кто-нибудь скажет, что можно встретиться с такой задачей во время собеседования или на обычной работе разработчика программного обеспечения (я думаю, что это возможно, еслито, с чем вы работаете, это проект для языка или что-то в этом роде.) Любое понимание приветствуется!

1 Ответ

0 голосов
/ 12 ноября 2018

Теперь мой вопрос: что если одно слово содержит повторяющиеся буквы, и они значимые дубликаты (то есть "Леонардо")

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

Является ли эта задача выполнимой и ее стоит выполнить в краткосрочной перспективе?

Само задание определенно выполнимо и его стоит выполнить.

Если вы сталкиваетесь с таким вопросом, возможно, вам следует попытаться прояснить, прежде чем строить решение, в случае, если то, как вы интерпретируете задачу, не согласуется с тем, как ее подразумевал интервьюер. пс. я также не знаю, действительно ли этот вопрос здесь или нет, странный.

...