在 JavaScript 中查詢使陣列元素相等的最小步驟
我們需要編寫一個 JavaScript 函式,其只接受一個數字 num 作為唯一的引數。該函式應首先根據以下規則構建一個包含 n 個元素的陣列 -
arr[i] = (2 * i) + 1;
因此,如果輸入數字為 5,則陣列應為 -
const arr = [1, 3, 5, 7, 9];
我們的函式應該計算並返回陣列所有元素相等所需的最小步驟數。
現在讓我們來定義一步 -
一個有效的步驟包括從陣列中選擇任意兩個數字(不同的數字),並把第一個數字加 1,第二個數字減 1。
因此,對於上述陣列,輸出應如下所示 -
const output = 6;
示例
該程式碼如下 -
const num = 5;
const minimumOperations = (num = 1) => {
if(num === 1){
return 0;
};
let arr = new Array(num);
let i = 0;
let res = 0;
while(i < num){
arr[i] = (2 * i) + 1;
if(arr[i] < num) res += num-arr[i];
i++;
};
return res;
};
console.log(minimumOperations(num));輸出
控制檯中的輸出如下 -
6
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP