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

JavaScript에서 정렬된 배열의 다수 요소 확인

<시간/>

주요 요소:

길이가 l인 배열 arr의 다수 요소는 1/2배 이상 나타나는 요소이므로 이러한 요소는 최대 하나입니다.

첫 번째 인수로 항상 오름차순으로 정렬되는 배열 arr를 취하는 isMajority()와 같은 JavaScript 함수를 작성해야 합니다.

함수의 두 번째 인수는 숫자가 될 것이며, 이에 대해 배열을 검색하고 해당 숫자가 다수 요소이면 true를 반환하고 그렇지 않으면 false를 반환합니다.

예를 들어 -

입력 배열과 숫자가 -

인 경우
const arr = [5, 5, 5, 12, 15];
const num = 5;

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

const output = true;

(5 / 2) =2.5보다 큰 5가 3번 나타나기 때문입니다. (배열 길이의 절반).

배열이 정렬되어 있고 다수 요소가 있는 경우 해당 숫자가 배열의 절반 이상에 걸쳐 있어야 하므로 항상 중간 요소가 됩니다.

이 논리를 사용하여 주어진 숫자가 다수 요소인지 확인할 수 있습니다.

예시

이에 대한 코드는 -

const arr = [5, 5, 5, 12, 15];
const num = 5;
const isMajority = (arr = [], num = 1) => {
   const { length } = arr;
   if(!length){
      return false;
   };
   const middle = Math.floor(length / 2);
   if(arr[middle] === num){
      return true;
   }else{
      return false;
   };
};
console.log(isMajority(arr, num));

출력

콘솔의 출력은 -

true