メインコンテンツへスキップ

NeetCode 150 [Intervals]:easy

· loading · loading ·
kiitosu
著者
kiitosu
画像処理やデバイスドライバ、データ基盤構築からWebバックエンドまで、多様な領域に携わってきました。地図解析や地図アプリケーションの仕組みにも経験があり、幅広い技術を活かした開発に取り組んでいます。休日は草野球とランニングを楽しんでいます。
目次

NeetCodeのSolutionを書いていく
#

Meeting Rooms
#

以下のような会議の時間間隔の配列が与えられる。 [[start_1,end_1],[start_2,end_2],...] (start_i < end_i) 会議時間が衝突せずにスケジュールに登録できるか確認しましょう。

時間間隔の数字を配列に格納していって、すでに存在していたらfalse、全部の時間間隔を見切れたらTrueというのはどうだ?

[(0,8),(8,10)]の8は衝突にはあたらない。というところだけクリアすれば行けそう。 というかそれを問うている問題か。 終了時間を配列に入れなければいいだけかな?

class Solution:
    def canAttendMeetings(self, intervals: List[Interval]) -> bool:
        data = []
        for interval in intervals:
            for i in range(interval.start, interval.end):
                if i in data:
                    return False
                data.append(i)
        return True

いけた! 今回は簡単!

Reply by Email

関連記事

NeetCode 150 [1-D Dynamic Programming]:easy
· loading · loading
NeetCode 150 [Arrays & Hashing]:medium 1/6
· loading · loading
NeetCode 150 [Arrays & Hashing]:medium 3/6
· loading · loading