Pythonで重複した配列から失われた要素を見つける
1つの要素を除いて互いに重複している2つの配列があるとすると、指定された配列の1つから1つの要素が欠落している場合、その欠落している要素を見つける必要があります。
>したがって、入力がA =[2、5、6、8、10]、B =[5、6、8、10]の場合、2番目の配列に2がないため、出力は2になります。
>これを解決するには、次の手順に従います-
-
関数solve()を定義します。これにはA、B、Nが必要です
-
Nが1と同じ場合、
-
A [0];
を返します
-
-
A[0]がB[0]と同じでない場合、
-
A [0]
を返します
-
-
低:=0、高:=N-1
-
低<高、実行
-
中:=(低+高)/ 2
-
A[mid]がB[mid]と同じ場合、
-
低:=中
-
-
それ以外の場合
-
高:=中
-
-
lowがhigh-1と同じ場合、
-
ループから出てきます
-
-
-
A[高]を返す
-
メインの方法から、次のようにします-
-
M:=Aのサイズ、N:=Bのサイズ
-
NがM-1と同じ場合、
-
リターンソルブ(A、B、M)
-
-
それ以外の場合、MがN-1と同じである場合、
-
リターンソルブ(B、A、N)
-
-
それ以外の場合
-
「見つかりません」を返す
-
例
理解を深めるために、次の実装を見てみましょう-
def solve(A, B, N): if N == 1: return A[0]; if A[0] != B[0]: return A[0] low = 0 high = N - 1 while (low < high): mid = (low + high) / 2 if A[mid] == B[mid]: low = mid else: high = mid if low == high - 1: break return A[high] def get_missing_element(A, B): M = len(A) N = len(B) if N == M-1: return solve(A, B, M) elif M == N-1: return solve(B, A, N) else: return "Not found" A = [2, 5, 6, 8, 10] B = [5, 6, 8, 10] print(get_missing_element(A, B))
入力
[2, 5, 6, 8, 10], [5, 6, 8, 10]
出力
2
-
配列内の最大の要素を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、配列の最大要素を計算する必要があります。 ここでは、ループ全体をトラバースして最大の要素を計算し、要素を取得するブルートフォースアプローチを使用します。 以下の実装を観察できます。 例 # largest function def largest(arr,n): #maximum element max = arr[0] # traverse the whole loop for
-
配列内の最大の要素を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列を指定すると、配列内で最大の要素を見つける必要があります。 アプローチ maxを最初の要素として初期化します。 この後、指定された配列を2番目の要素から最後までトラバースします。 トラバースされたすべての要素について、現在のmaxの値と比較します maxより大きい場合、maxが更新されます。 それ以外の場合、ステートメントはを超えます 以下の実装を見てみましょう- 例 def largest(arr,n): #maximal element