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

JavaScript에서 대상보다 큰 가장 작은 문자 찾기

<시간/>

소문자만 포함하는 정렬된 문자 배열이 있다고 가정합니다. 그리고 대상 문자 대상이 주어집니다.

배열을 첫 번째 인수로, 문자를 두 번째 인수로 취하는 JavaScript 함수를 작성해야 합니다. 함수는 주어진 대상보다 큰 목록에서 가장 작은 요소를 찾습니다.

우리는 편지도 둘러싸고 있다는 것을 명심해야 합니다. 예를 들어 대상이 target ='z'이고 문자 =['a', 'b']인 경우 답은 'a'입니다.

예를 들어 -

입력 배열과 문자가 -

인 경우
const arr = ["c", "f", "j"];
const target = "a";

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

const output: "c";

예시

이에 대한 코드는 -

const arr = ["c", "f", "j"];
const target = "a";
const findNearestLetter = (arr = [], target = '') => {
   let left = 0;
   let right = arr.length - 1;
   while (left <= right) {
      let mid = left + (right - left) / 2;
      if (arr[mid] <= target) {
         left ++;
      } else {
         right --;
      };
   };
   if (left == arr.length) {
      return arr[0];
   };
   return arr[left];
};
console.log(findNearestLetter(arr, target));

출력

콘솔의 출력은 -

c