在 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