leetcode.com/problems/first-bad-version/
문제 풀이 방식
Binary Search 활용,
이 문제에서는 isBadVersion이라는 API를 제공해주므로 활용해서 풀면 된다.
주의할 점
완전 탐색으로 LInear 시간 만큼 탐색하게 되면 TLE를 볼 수 있다.
소스코드
/* The isBadVersion API is defined in the parent class VersionControl.
boolean isBadVersion(int version); */
public class Solution extends VersionControl {
public int firstBadVersion(int n) {
int left = 1;
int right = n;
while(left < right){
int mid = left + (right-left)/2;
if(isBadVersion(mid)){
right = mid;
} else {
left = mid + 1;
}
}
return left;
}
}
'Leetcode 100문제 도전' 카테고리의 다른 글
[Leetcode 13/100] Minimum Absolute Difference in BST - Easy (0) | 2021.01.11 |
---|---|
[Leetcode 12/100] Maximum Subarray - Easy (0) | 2021.01.10 |
[Leetcode 10/100] Find the Smallest Divisor Given a Threshold - Medium (0) | 2021.01.10 |
[Leetcode 9/100] Beautiful Arrangement - Medium (0) | 2021.01.09 |
[Leetcode 8/100] Letter Tile Possibilities - Medium (0) | 2020.08.26 |