반응형
오름 차순 정렬된 정수의 배열에서 target을 찾는 문제
const binarySearch = function (arr, target) {
var low = 0;
var high = arr.length-1;
var flag = true;
var result = -1; //결과
while(flag == true)
{
var fv = Math.floor((low+high)/2); // 기준점
if(arr[fv] <= target && target <= arr[high]) // 피벗 기준 오른쪽에 있을떄
low = fv;
else if(arr[low] <= target && target <= arr[fv]) // 피벗 기준 왼쪽
high = fv;
else
flag = false;
if((high-low) == 1)
{
result = target == arr[low] ? low : result;
result = target == arr[high] ? high : result;
flag = false;
}
}
return result;
};
반응형
'개발' 카테고리의 다른 글
| 새로운 화폐 암호 화폐 (0) | 2022.06.23 |
|---|---|
| 기존의 금융 시스템 (0) | 2022.06.23 |
| largestProductOfThree (0) | 2022.06.02 |
| treeDFS (0) | 2022.06.02 |
| Bubble Sort (0) | 2022.05.25 |