[leetcode] Guess Number Higher or Lower

Spark Kim·2021년 10월 16일
0

leetcode

목록 보기
7/9

1부터 n 사이의 숫자 중 선택된 숫자에 대해 찾아서 리턴하는 문제이다. 이 때 개발자가 제시한 숫자가 선택된 숫자보다 큰 지, 작은 지, 같은 지에 대해 리턴하는 API인 int guess(int n) 메서드를 LeetCode 문제에서 제공하는 GuessGame 클래스를 상속받아 사용할 수 있다.
binary Search 로 문제를 풀이하였다.

public class Solution extends GuessGame {
    public int guessNumber(int n) {
        long low = 1;
        long high = n;
        long mid = (low+high)/2;
        
        while(low <= high) {
            int result = guess((int) mid);
            if(result == 0) {
                break;
            } else if(result==1) {
                low = mid+1;
            } else {
                high = mid;
            }
            mid = (low+high)/2;
        }
        return (int)mid;
    }
}
profile
성장 지향 백엔드 개발자

0개의 댓글