絶対差の合計が最も小さい配列要素はどれですか?
ここで、興味深い質問を見てみましょう。 N 個の要素を含む配列 'a' があります。 |a[0] - x| |a[1] - x| ... |a[n-1] - x| の値を最小にする要素 x を見つける必要があります。次に、最小の合計を見つける必要があります。
配列が {1, 3, 9, 6, 3} で、x が 3 であるとします。したがって、合計は |1 - 3| |3 - 3| |9 - 3| |6 - 3| |3 - 3| = 11 となります。
この問題を解決するには、配列の中央値を x として選択する必要があります。配列のサイズが偶数の場合、中央値は 2 つあります。それらはすべて x にとって最良の選択です。
アルゴリズム
minSum(arr, n)
begin sort array arr sum := 0 med := median of arr for each element e in arr, do sum := sum + |e - med| done return sum end
例
#include <iostream> #include <algorithm> #include <cmath> using namespace std; int minSum(int arr[], int n){ sort(arr, arr + n); int sum = 0; int med = arr[n/2]; for(int i = 0; i<n; i++){ sum += abs(arr[i] - med); } return sum; } int main() { int arr[5] = {1, 3, 9, 6, 3}; int n = 5; cout << "Sum : " << minSum(arr, n); }
出力
Sum : 11
以上が絶対差の合計が最も小さい配列要素はどれですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Java の「Arrays.stream()」関数を使用して配列をストリームに変換し、「min()」関数と「max()」関数を使用して最小値と最大値を計算します。

ここで興味深い問題が見えてきます。 N 個の要素を含む配列 'a' があります。 |a[0]-x|+|a[1]-x|+...+|a[n-1]-x| の値を最小にする要素 x を見つける必要があります。次に、最小の合計を見つける必要があります。配列が {1,3,9,6,3} で、x が 3 であるとします。したがって、合計は |1-3|+|3-3|+|9-3|+|6-3|+|3-3|=11 となります。この問題を解決するには、配列の中央値を x として選択する必要があります。配列のサイズが偶数の場合、中央値は 2 つあります。それらはすべて x にとって最良の選択です。アルゴリズム minSum(arr,n)begin &

PHP プログラミングでは、implode 関数は、配列内の要素を文字列に連結できる非常に一般的に使用される関数です。この関数を使用すると、開発者は文字列を接続するための多くのコードを作成する必要がなくなり、効率が向上します。 implode の基本構文は次のとおりです: stringimplode(string$glue,array$pieces) この関数は 2 つのパラメータを受け取ります: $glue は配列要素を接続するための区切り文字を表し、$pieces は配列要素を表します

PHP の implode() 関数を使用して、配列要素を区切られた文字列に接続します。コード例は次のとおりです: <?php//配列を定義 $array=array('apple','banana','orange'); / /implode() 関数を使用して、配列要素を区切り文字列に接続します $delimiter=',';//区切り文字を定義します $result=im

線形検索は、配列内の要素を検索する最も簡単な方法です。これは、配列の一方の端から開始して、必要な要素が見つかるまで配列の各要素をチェックする順次検索アルゴリズムです。再帰とは、関数がそれ自体を呼び出すことです。再帰関数を使用する場合は、反復を生成するためにループを使用する必要があります。以下の構文は、単純な再帰関数がどのように機能するかを示しています。 defrerecursiveFun():Statements...rerecursiveFun()...rerecursiveFun は要素を再帰的に線形に検索します。配列から要素を再帰的に線形に検索します。これは関数を使用することによってのみ実現できます。 Python で関数を定義するには、def キーワードを使用する必要があります。存在する

配列は同じデータ型の要素を含むコンテナであり、長さを事前に定義する必要があります。配列内の要素は、任意の順序および任意の回数で出現できます。したがって、このプログラムでは、配列内で複数回出現する要素を見つけます。問題の説明 - 配列 arr[] が与えられました。配列内の繰り返し要素を見つけて出力する必要があります。よりよく理解するために例を挙げてみましょう。例: 入力:arr[]={5,11,11,2,1,4,2}出力:112 説明 いくつかの要素を含む配列 arr があります。まず、repeat 関数の次の要素を比較します。繰り返し関数は、配列内の重複する要素を見つけるために使用されます。リピート関数で使用するのは、

問題文 n 個の正の整数を含む配列が与えられたとします。素数が最小値と最大値を持つ数を見つけなければなりません。指定された配列が -arr[]={10,4,1,12,13,7,6,2,27,33} の場合、最小素数は 2 で、最大素数は 13 になります。 アルゴリズム 1. 指定された番号から最大数を見つけます。

PHPを使用して開発を行う過程では、配列を操作する必要が生じることがよくあります。配列では通常、後続の操作を容易にするために要素のキー値を取得する必要があります。この目的のために、PHP は配列から要素のキーを迅速に取得できる非常に便利な関数 array_keys() を提供します。 array_keys() 関数の使用法は非常に簡単で、基本的な構文は次のとおりです。
