Pythonで間隔をマージし、昇順で並べ替えるプログラム
リスト間隔があるとすると、ソートされた順序でそれらの和集合を見つける必要があります。
したがって、入力がinv =[[2、5]、[4、10]、[20、25]]の場合、出力は[[2、10]、[20、25]]
>これを解決するには、次の手順に従います-
- リスト間隔を並べ替える
- ans:=新しいリスト
- 間隔を置いて開始および終了(s、e)ごとに、
- ansおよびs<=ansの最後の間隔の終了時刻の場合、
- ansの最後の間隔の終了時間:=eの最大値とansの最後の間隔の終了時間
- それ以外の場合、
- 間隔[s、e]をansに挿入します
- ansおよびs<=ansの最後の間隔の終了時刻の場合、
- 回答を返す
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, intervals): intervals.sort() ans = [] for s, e in intervals: if ans and s <= ans[-1][1]: ans[-1][1] = max(ans[-1][1], e) else: ans.append([s, e]) return ans ob = Solution() inv = [[2, 5],[4, 10],[20, 25]] print(ob.solve(inv))
入力
[[2, 5],[4, 10],[20, 25]]
出力
[[2, 10], [20, 25]]
-
反復マージソート用のPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、反復によるマージソートの概念を使用して配列をソートする必要があります。 ここでは、最大の要素を最後に配置します。これは、配列がソートされるまで繰り返されます。 次に、以下の実装のソリューションを見てみましょう- 例 # iterative way def mergeSort(a): current_size = 1 # traversing subarrays while current_size <
-
Pythonプログラムでの選択ソート
この記事では、Python3.xでの選択ソートとその実装について学習します。またはそれ以前。 選択ソート アルゴリズムでは、配列は、ソートされていない部分から最小要素を再帰的に見つけて、それを先頭に挿入することによってソートされます。特定の配列での選択ソートの実行中に、2つのサブ配列が形成されます。 すでに並べ替えられているサブ配列。 ソートされていないサブアレイ。 選択ソートを繰り返すたびに、ソートされていないサブアレイの最小要素がポップされ、ソートされたサブアレイに挿入されます。 アルゴリズムの視覚的表現を見てみましょう- それでは、アルゴリズムの実装を見てみましょう-