Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 배열 요소를 동일하게 만드는 최소 단계 찾기

<시간/>

우리는 숫자, num을 유일한 인수로 취하는 JavaScript 함수를 작성해야 합니다. 함수는 먼저 다음 규칙에 따라 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