[Greedy]ジャージ
📌 制限事項は重要な問題だ.これを見逃すと、コードをよく修正しても4-50分の行方が失われます.🕊
方法
主論理自体は簡単です.reserveリストを巡回すると、要素-1/+1の値が欠落リストに存在するかどうかを確認し、要素を削除できます.そして全長からlossリストの最終個数を返すと完成!
しかし、その前に、制限事項を考慮してリストを作成する必要があります.
1.重複除外
2.損失と保存の間で重複除外を実行
1番は明示的です.2つ目は最後の制限から引き出すことができます.運動服を余った学生が盗まれたのは、その学生が運動服を借りることができないからだ.
最終コード
def solution(n, lost, reserve):
_reserve = set(reserve)-set(lost)
_lost = set(lost)-set(reserve)
for r in _reserve:
if r-1 in _lost:
_lost.remove(r-1)
elif r+1 in _lost:
_lost.remove(r+1)
return n-len(_lost)
👉 setを用いて1番条件を満たし,2つのset間の差集演算により2番条件も満たされたReference
この問題について([Greedy]ジャージ), 我々は、より多くの情報をここで見つけました https://velog.io/@dldbdud314/Greedy-체육복テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol