在 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

更新於: 2021-2-26

219 次瀏覽

開啟您的 事業

透過完成課程獲得認證

馬上開始
廣告
© . All rights reserved.