簡體   English   中英

如何通過同時數位數來找到數組的均值

[英]How to Find the Means of an Array, By Counting The Digit Simultaneously

打擾一下,我想問一個問題,現在很困擾我。 我認為這很簡單。 但我不知道如何解決它。 或許你們都知道這件事。

這個問題是這樣的數組[3,4,5] ,答案是5

得到答案的算法是通過做這些事情

3 4 5 / / 4 5 / 5

(每個十進制數將向上舍入到下一個最大整數)

所以我們將得到的答案是 5。


對於其他問題,例如[8,1,8,8,0] output 將為 7

在此處輸入圖像描述

是否有人可能知道如何解決這個問題,我使用 javascript 進行該算法。

但仍然找不到解決這個問題的方法

每一個幫助都會很好,

謝謝

您可以迭代整個長度大於 1 和 map 的較小數組的新數組。

 let array = [8, 1, 8, 8, 0]; console.log(...array); while (array.length > 1) { let l = array[0] array = array.slice(1).map(r => { let v = Math.ceil((l + r) / 2); l = r; return v; }); console.log(...array); }

您可以遍歷數組並繼續進行數學運算,直到數組中只有一項。 您可以執行以下操作,

 const getAverageForEachPair = (arr) => { if(arr.length ===1) { return arr; } else { let res = []; for(let i = 0; i < arr.length -1; i++) { res[i] = Math.ceil((arr[i] + arr[i+1])/2); } return res; } } let arr = [8,1,8,8,0]; while(arr.length > 1) { let line1 = ''; arr.forEach(item => { line1 += (item + ' '); }); let line2 = ''; console.log(line1); arr = getAverageForEachPair(arr); arr.forEach(item => { line2 += ' \\ / '; }); console.log(line2); } console.log(' '+arr[0]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM