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

Pythonで交差する間隔を見つける


間隔のリストがあり、各間隔が[start、end]のようであると仮定します。これは、間隔の開始時間と終了時間を表します(両端を含む)。それらの交点、つまり、指定されたすべての間隔内にある間隔を見つける必要があります。

したがって、入力が[[10、110]、[20、60]、[25、75]]の場合、出力は[25、60]

になります。

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

  • 開始、終了:=間隔リストから最後の要素を削除した後の間隔
  • 間隔が空でない間は、
    • start_temp、end_temp:=間隔リストから最後の要素を削除した後の間隔
    • start:=startの最大値、start_temp
    • end:=endの最小値、end_temp
  • 間隔を返す[開始、終了]

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

class Solution:
   def solve(self, intervals):
      start, end = intervals.pop()
      while intervals:
         start_temp, end_temp = intervals.pop()
         start = max(start, start_temp)
         end = min(end, end_temp)
      return [start, end]
ob = Solution()
intervals = [[10, 110],[20, 60],[25, 75]]
print(ob.solve(intervals))

入力

[[10, 110],[20, 60],[25, 75]]

出力

[25, 60]

  1. Pythonでポリゴンの領域を見つけるプログラム

    順序付けられたポイントのリストが2D平面上の単純なポリゴンエンドポイントを表すとします。このポリゴンの領域を見つける必要があります。 したがって、入力がpoints =[(0、0)、(0,5)、(3、5)、(3,0)]のような場合、出力は15になります。 これを解決するには、次の手順に従います- 関数getInfo()を定義します。これにはx1、y1、x2、y2が必要です return x1 * y2-y1 * x2 メインの方法から、次の手順を実行します N:=ポイントのサイズ (firstx、firsty):=points [0] (prevx、prevy):=(fir

  2. Pythonでポリゴンの周囲を見つけるプログラム

    順序付けられたポイントのリストが2D平面上の単純なポリゴンエンドポイントを表すとします。このポリゴンの周囲を見つける必要があります。 したがって、入力がpoints =[(0、0)、(0,5)、(3、5)、(3,0)]のような場合、出力は16になります。 2つの辺の長さは3で、2つの辺の長さは5なので、2 * 5 + 2 * 3=16です。 これを解決するには、次の手順に従います- 関数getInfo()を定義します。これにはx1、y1、x2、y2が必要です ユークリッド距離である((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))の平方根を返します (x1、y1)