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

JavaScript에서 n개의 다른 요소가 있는 배열 부분

<시간/>

문제

첫 번째 인수로 리터럴 배열인 arr을 취하는 JavaScript 함수를 작성해야 합니다. 함수에 대한 두 번째 인수는 숫자, num입니다. 우리 함수는 정확히 num개의 개별 요소를 포함하는 배열의 하위 배열 수를 계산하고 반환해야 합니다.

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

인 경우
 상수 arr =[12, 15, 12, 15, 18]; 상수 num =2;

그러면 출력은 다음과 같아야 합니다. -

상수 출력 =7;

출력 설명

정확히 2개의 다른 요소로 구성된 하위 배열 -

<미리>[12,15], [15,12], [12,15], [15,18], [12,15,12], [15,12,15], [12,15,12, 15]

예시

이에 대한 코드는 -

const arr =[12, 15, 12, 15, 18];const num =2;const distinctSubarrays =(arr =[], num =1) => { const findDistinct =(count) => { const map ={}; ptr =0으로 두십시오. 구별하자 =0; 하자 =0; for(오른쪽 =0; 오른쪽  count){ map[arr[ptr]] -=1; if(지도[arr[ptr]] ===0){ 구별 -=1; }; 포인트 +=1; }; res +=오른쪽 - ptr + 1; }; 반환 해상도; }; return findDistinct(num) - findDistinct(num - 1)};console.log(distinctSubarrays(arr, num));

출력

콘솔의 출력은 -

7