Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm số bước tối thiểu làm tất cả phần tử mảng bằng nhau trong JavaScript

Cho num, tạo mảng arr[i] = 2*i+1. Mỗi bước: chọn 2 phần tử khác nhau, +1 cho cái, -1 cho cái kia. Tìm số bước tối thiểu để tất cả phần tử bằng nhau.

Ví dụ: num=5 → mảng [1,3,5,7,9] → 6 bước.

Ví dụ

const num = 5;
const minimumOperations = (num = 1) => {
  if (num === 1) return 0;
  let arr = new Array(num), i = 0, 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));

Kết quả

6