目錄
演算法
minSum(arr, n)
範例
輸出
首頁 後端開發 C++ 數組元素的絕對差值總和最小的是哪一個?

數組元素的絕對差值總和最小的是哪一個?

Aug 29, 2023 am 10:09 AM
數組元素 最小 絕對差值總和

數組元素的絕對差值總和最小的是哪一個?

在這裡,我們將看到一個有趣的問題。我們有一個包含N個元素的陣列'a'。我們需要找出一個元素x,使得|a[0] - x| |a[1] - x| ... |a[n-1] - x|的值最小化。然後我們需要找到最小化的和。

假設陣列為:{1, 3, 9, 6, 3},現在x為3。所以和為|1 - 3| |3 - 3| |9 - 3| |6 - 3| |3 - 3| = 11。

為了解決這個問題,我們需要選擇數組的中位數作為x。如果數組的大小是偶數,則會有兩個中位數值。它們都是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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1662
14
CakePHP 教程
1419
52
Laravel 教程
1313
25
PHP教程
1262
29
C# 教程
1235
24
Java如何求數組元素的最大和最小值 Java如何求數組元素的最大和最小值 Oct 08, 2023 am 09:44 AM

Java中使用`Arrays.stream()`函數將陣列轉換為流,然後使用`min()`和`max()`函數來計算最小值和最大值。

PHP中如何使用implode函數將數組元素連接成字串 PHP中如何使用implode函數將數組元素連接成字串 Jun 26, 2023 pm 02:02 PM

在PHP程式設計中,implode函數是一種非常常用的函數,可以將一個陣列中的元素連接成一個字串。使用該函數可以節省開發人員編寫大量連接字串的程式碼,更有效率。 implode的基本語法為:stringimplode(string$glue,array$pieces)此函數接收兩個參數:$glue表示要連接陣列元素的分隔符,$pieces表示

數組元素的絕對差值總和最小的是哪一個? 數組元素的絕對差值總和最小的是哪一個? Aug 29, 2023 am 10:09 AM

在這裡,我們將看到一個有趣的問題。我們有一個包含N個元素的陣列'a'。我們要找出一個元素x,使得|a[0]-x|+|a[1]-x|+...+|a[n-1]-x|的值最小化。然後我們需要找到最小化的和。假設數組為:{1,3,9,6,3},現在x為3。所以和為|1-3|+|3-3|+|9-3|+|6-3|+|3-3|=11。為了解決這個問題,我們需要選擇數組的中位數作為x。如果數組的大小是偶數,則會有兩個中位數值。它們都是x的最佳選擇。算法minSum(arr,n)begin &

使用PHP的implode()函數將陣列元素連接成帶有分隔符號的字串 使用PHP的implode()函數將陣列元素連接成帶有分隔符號的字串 Nov 04, 2023 pm 02:37 PM

使用PHP的implode()函數將陣列元素連接成有分隔符號的字串,程式碼範例如下:&lt;?php//定義一個陣列$array=array('apple','banana','orange'); //使用implode()函數將陣列元素連接成帶有分隔符號的字串$delimiter=',';//定義分隔符號$result=im

Python程式遞歸線性搜尋數組中的元素 Python程式遞歸線性搜尋數組中的元素 Aug 20, 2023 pm 11:22 PM

線性搜尋是在陣列中搜尋元素的最簡單方法。它是一種順序搜尋演算法,從一端開始,並檢查陣列的每個元素,直到找到所需的元素。遞歸是指一個函數呼叫自身,當使用遞歸函數時,我們需要使用任何循環來產生迭代。下面的語法示範了簡單遞歸函數的工作原理。 defrerecursiveFun():Statements...rerecursiveFun()...rerecursiveFun遞歸地線性搜尋元素從陣列中遞歸地線性搜尋一個元素,只能透過使用函數來實現。在Python中,要定義一個函數,我們需要使用def關鍵字。在

在C語言中,出現多次的陣列元素是什麼? 在C語言中,出現多次的陣列元素是什麼? Sep 05, 2023 am 09:05 AM

Array是一個容器,其中包含相同資料類型的元素,長度需要事先定義。數組中的元素可以以任何順序和任意次數出現。因此,在這個程式中,我們將找出數組中出現多次的元素。問題描述-我們已經給出一個數組arr[],我們需要找出數組中重複出現的元素,並列印它們。讓我們舉一個例子來更好地理解。範例:Input:arr[]={5,11,11,2,1,4,2}Output:112解釋我們有一個包含一些元素的陣列arr,首先我們會在重複函數中比較下一個元素。重複函數用於在陣列中找到重複的元素。在重複函數中,我們使用

C程式在陣列中找到最小和最大的質數 C程式在陣列中找到最小和最大的質數 Sep 05, 2023 pm 04:29 PM

問題陳述給定一個包含n個正整數的陣列。我們必須找到質數具有最小值和最大值的數字。如果給定的陣列是-arr[]={10,4,1,12,13,7,6,2,27,33}thenminimumprimenumberis2andmaximumprimenumberis13演算法1.Findmaximumnumberfromgivennumber.LetusmlitmaxNumber2.Generateprinandum

大於p的最小三角數 大於p的最小三角數 Sep 20, 2023 pm 07:13 PM

我們將討論三角形數以及如何找到僅大於給定數字“num”的最小三角形數。我們先討論什麼是三角數,然後找出比「num」大的最小三角數我們將看到針對相同問題的兩種不同方法。在第一種方法中,我們將執行一個簡單的循環來產生輸出,而在第二種方法中,我們將首先產生一個用於計算所需數字的通用公式,然後直接應用該公式來獲得最小的三角形數。問題陳述我們必須找出僅大於“num”的最小三角形數。我們有多個裝有球的盒子。對於所有盒子來說,盒子包含的球的數量都是一個不同的三角形數字。這些盒子從1到n編號。我們必須找出從盒子

See all articles