寻找使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