Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでいずれかの間隔が他の間隔と完全に重複していないかどうかを確認します


値(a、b)で構成される一連の間隔が与えられているとします。ここで、aは開始時刻を表し、bはイベントの終了時刻を表します。私たちのタスクは、これらの間隔のいずれかがこのセットの他の間隔と完全に重複しているかどうかを確認することです。いずれかの間隔が重なっている場合は結果をTrueとして返し、そうでない場合はFalseを返します。

したがって、入力が[(4,6)、(10,12)、(7,9)、(13,16)]のような場合、出力はFalseになります。入力が[(4,6)、(4,9)、(7,11)、(5,8)]の場合、出力はTrueになります。

これを解決するには、次の手順に従います-

  • リスト間隔を並べ替える
  • 1から間隔のサイズまでの範囲のiについては、
    • インターバル[i、1] <=インターバル[i-1、1]の場合、
      • Trueを返す
    • Falseを返す

理解を深めるために、次の実装を見てみましょう-

def solve(intervals):
intervals.sort()
for i in range(1, len(intervals)):
   if intervals[i][1] <= intervals[i- 1][1]:
      return True
   return False
intervals = [(4,6),(10,12),(7,9),(13,16)] 
intervals2 = [(4,6), (4,9), (7,11), (5,8)] 
print(solve(intervals))
print(solve(intervals2))

入力

[(4,6),(10,12),(7,9),(13,16)] [(4,6), (4,9), (7,11), (5,8)]

出力

False
True

  1. Pythonでいずれかの間隔が他の間隔と完全に重複していないかどうかを確認します

    値(a、b)で構成される一連の間隔が与えられているとします。ここで、aは開始時刻を表し、bはイベントの終了時刻を表します。私たちのタスクは、これらの間隔のいずれかがこのセットの他の間隔と完全に重複しているかどうかを確認することです。いずれかの間隔が重なっている場合は結果をTrueとして返し、そうでない場合はFalseを返します。 したがって、入力が[(4,6)、(10,12)、(7,9)、(13,16)]のような場合、出力はFalseになります。入力が[(4,6)、(4,9)、(7,11)、(5,8)]の場合、出力はTrueになります。 これを解決するには、次の手順に従います- リスト間

  2. 特定のディレクトリにPythonの他のディレクトリが含まれているかどうかを確認するにはどうすればよいですか?

    ディレクトリにディレクトリが含まれているかどうかを確認するには、その逆を確認します。つまり、isfileメソッドを使用してファイルではないエントリが含まれているかどうかを確認します。 例 import os list_dir = os.listdir('.') for f in list_dir:     if not os.path.isfile(os.path.join('.', f)):         print("Not a file") 組み込みのすべてを使用してこれを