다음 코드에서 버그가 있을 수 있다고 하는데 답을 못들었어요.
제가 몇개 케이스를 넣을땐 꽤 잘나오는 거 같은데 도대체 어떤부분일까요??
알려주실 능력자분 계신가요?
// 오름차순으로 정렬된 배열과 찾고자 하는 키를 입력받음.
// 찾으면 true, 못찾으면 false
bool Search(int arr[], int len, int key) {
int left = 0;
int right = len - 1;
while(left <= right) {
int mid = (left + right) / 2;
if (mid < key) {
left = mid + 1;
} else if (mid > key) {
right = mid - 1;
} else {
return true;
}
}
return false;
}