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]
-
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
-
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)