前の数値を除算した後の配列の合計?
ここで、1つの興味深い問題が発生します。 1つの配列を取得し、前の要素で除算した後、各要素を取得して合計を求めます。配列が{5、6、7、2、1、4}であると考えてみましょう。その場合、結果は5 +(6/5)+(7/6)+(2/7)+(1/2)+(4/1)=12.15238になります。コンセプトを得るためのアルゴリズムを見てみましょう。
アルゴリズム
divSum(arr、n)
begin sum := arr[0] for i := 1 to n-1, do sum := sum + arr[i] / arr[i-1] done return sum end
例
#include <iostream> using namespace std; float divSum(int arr[], int n){ float sum = arr[0]; for(int i = 1; i<n; i++){ sum += arr[i] / float(arr[i - 1]); } return sum; } int main() { int arr[6] = {5, 6, 7, 2, 1, 4}; int n = 6; cout << "Sum : " << divSum(arr, n); }
出力
Sum : 12.1524
-
PythonでK否定後の配列の合計を最大化する
整数の配列Aがあるとすると、次の方法で配列を変更する必要があります- iを選択してA[i]を-A[i]に置き換えることができ、このプロセスをK回繰り返します。このように変更した後、配列の可能な最大の合計を返す必要があります。 したがって、配列A =[4,2,3]、K =1の場合、出力は5になります。したがって、インデックス1を選択すると、配列は[4、-2,3]になります。 これを解決するには、次の手順に従います- 配列Aを並べ替える 0からA–1の長さの範囲のiの場合 A [i] <0の場合、A [i]:=--A [i]であり、kを1減らします k =0の場合、ル
-
Pythonでのクエリ後の偶数の合計
Aと呼ばれる整数の配列と、配列クエリがあるとします。 i番目のクエリ値=querys[i][0]およびindex=querys [i] [1]の場合、A[index]に値を追加します。次に、i番目のクエリの答えはAの偶数の値の合計です。すべてのクエリに対する答えを見つける必要があります。 i番目のクエリに対する回答としてanswer[i]を持つ配列が見つかります。したがって、配列が[1,2,3,4]のようであり、クエリ配列が[[1,0]、[-3,1]、[-4,0]、[2,3]]のようである場合、その場合、回答の配列は[8,6,2,4]のようになります。したがって、最初の配列は[1,2,3,4]