Pythonで指定されたバイトニックシーケンスのバイトニックポイントを見つける
ビットニックシーケンスがあるとすると、その中にビットニックポイントを見つける必要があります。私たちが知っているように、Bitonicシーケンスは、最初に厳密に増加し、特定のポイントの後に厳密に減少する数列です。この点はバイトニック点です。シーケンスの増加のみまたは減少のみの場合、バイトニックポイントは使用できません。
したがって、入力が[7、8、9、12、10、6、3、2]の場合、出力は12
になります。これを解決するには、次の手順に従います-
- 関数binary_search(array、l、r)を定義します
- l <=rの場合、-
- m:=(l + r)/ / 2
- array [m --1]
array [m + 1]の場合、- - return m
- array [m]
- return binary_search(array、m + 1、r)
- return binary_search(array、l、m-1)
理解を深めるために、次の実装を見てみましょう-
def binary_search(array, l, r): if (l <= r): m = (l + r) // 2; if (array[m - 1] < array[m] and array[m] > array[m + 1]): return m; if (array[m] < array[m + 1]): return binary_search(array, m + 1,r); else: return binary_search(array, l, m - 1); return -1; array = [7, 8, 9, 12, 10, 6, 3, 2] n = len(array); index = binary_search(array, 1, n-2); if (index != -1): print(array[index]);
入力
[7, 8, 9, 12, 10, 6, 3, 2]
出力
12
-
Pythonプログラムで配列の合計を見つける
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列の合計を計算するために必要な配列が与えられます。 合計を取得するために各インデックスで配列と要素全体をトラバースするブルートフォースアプローチについては、以下で説明します。合計を取得するための各インデックスについては、以下で説明します。 例 # sum function def sum_(arr,n): # using built-in function return(sum(arr)) # main arr = [11,22,33,44,55,66
-
配列の合計を見つけるPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力として配列が与えられた場合、与えられた配列の合計を計算する必要があります。 ここでは、ブルートフォースアプローチに従うことができます。つまり、リストをトラバースし、各要素を空の合計変数に追加します。最後に、合計の値を表示します。 以下で説明するように、組み込みの合計関数を使用して別のアプローチを実行することもできます。 例 # main arr = [1,2,3,4,5] ans = sum(arr,n) print ('Sum of the array is '