二分搜真的很難= ="
index從1開始又要怎麼處理?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | // The API isBadVersion is defined for you. // bool isBadVersion(int version); class Solution { public: int firstBadVersion(int N) { int left = 1; int right = N; int ans = N; while (left <= right) { int mid = left + (right - left) / 2; if (!isBadVersion(mid)) { left = mid + 1; } else { ans = mid; right = mid - 1; } } return ans; } }; |