Computer >> Máy Tính >  >> Lập trình >> Javascript

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

Chúng tôi được yêu cầu viết một hàm JavaScript nhận một số, num làm đối số duy nhất. Trước tiên, hàm phải tạo một mảng gồm n phần tử dựa trên quy tắc sau -

arr[i] = (2 * i) + 1;

Do đó, nếu số đầu vào là 5, thì mảng phải là -

const arr = [1, 3, 5, 7, 9];

Hàm của chúng ta phải tính toán và trả về số bước tối thiểu mà nó phải thực hiện để tất cả các phần tử của mảng trở nên bằng nhau.

Bây giờ chúng ta hãy xác định một bước -

Một bước hợp lệ bao gồm chọn hai số bất kỳ từ mảng (các số phân biệt) và thêm 1 vào số đầu tiên và trừ 1 cho số thứ hai.

Do đó, đối với mảng trên, đầu ra sẽ giống như -

const output = 6;

Ví dụ

Mã cho điều này sẽ là -

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));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

6