문제
첫 번째 인수로 리터럴 배열인 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