1日1~4(未解決)
まず,
def solution(phone_book):
answer = True
for i in range(len(phone_book)-1):
tmp = phone_book[i]
for j in range(i+1, len(phone_book)):
if phone_book[j].startswith(phone_book[i]):
answer = False
break
return answer
以降のすべての要素について、文字列がtmpで始まるとfor文が終了し、responseはfalseで終了します.
要するに、時間的複雑度が上昇するため、この方法の効率は
def solution(phone_book):
phone_book = sorted(phone_book, key = lambda x: len(x))
tmp = set(phone_book)
answer = True
for i in phone_book:
tmp.remove(i)
for j in tmp:
if j.startswith(i):
answer = False
break
return answer
def solution(phone_book):
phone_book = sorted(phone_book, key = lambda x: len(x))
tmp = set(phone_book)
answer = True
for i in phone_book:
tmp.remove(i)
for j in tmp:
if j.startswith(i):
answer = False
break
if not answer:
break
return answer
そのため、効率を向上させるために、異なる方向を考慮する必要があります.
Reference
この問題について(1日1~4(未解決)), 我々は、より多くの情報をここで見つけました https://velog.io/@chaong309/하루에-하나-4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol