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

JavaScript의 배열 내에서 가능한 AP 계산

<시간/>

산술 진행

산술 진행(AP)은 연속된 두 숫자의 차이가 상수 값(공통 차이라고도 함)이 되도록 하는 일련의 숫자입니다.

예를 들어, 1, 2, 3, 4, 5, 6,…은 1(2 -1)과 같은 공차가 있는 AP입니다.

문제

정수 배열 arr을 첫 번째이자 유일한 인수로 취하는 JavaScript 함수를 작성해야 합니다.

우리 함수의 임무는 그 목록에서 가능한 크기 3의 산술 진행 수를 반환하는 것입니다. 각 진행에서 요소 간의 차이는 동일해야 합니다. 입력 배열은 오름차순으로 정렬됩니다. 예를 들어, 함수에 대한 입력이

인 경우

예를 들어, 함수에 대한 입력이 -

인 경우

입력

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

출력

const output = 5;

출력 설명

원하는 AP가 -

이기 때문에
[1, 2, 3], [1, 3, 5], [1, 5, 9], [3, 5, 7] and [5, 7, 9]

예시

다음은 코드입니다 -

const arr = [1, 2, 3, 5, 7, 9];
const countAP = (arr = []) => {
   let i, j, k;
   let { length: len } = arr;
   let count = 0;
   for (i = 0; i < len - 2; i++){
      for (k = i + 2; k < len; k++){
         let temp = arr[i] + arr[k];
         let div = temp / 2;
         if ((div * 2) == temp){
            for (j = i + 1; j < k; j++){
               if (arr[j] == div){
                  count += 1;
               }
            }
         }
      }
   }
   return count;
};
console.log(countAP(arr));

출력

5