From 90a5438496d580cb5c08254733751b55ced88d0f Mon Sep 17 00:00:00 2001 From: Azureki Date: Thu, 25 Apr 2019 12:18:09 +0800 Subject: [PATCH] py & cpp implementation --- 278. First Bad Version/main.cpp | 19 +++++++++++++++++++ 278. First Bad Version/main.py | 23 +++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 278. First Bad Version/main.cpp create mode 100644 278. First Bad Version/main.py diff --git a/278. First Bad Version/main.cpp b/278. First Bad Version/main.cpp new file mode 100644 index 0000000..278b86f --- /dev/null +++ b/278. First Bad Version/main.cpp @@ -0,0 +1,19 @@ +// Forward declaration of isBadVersion API. +bool isBadVersion(int version); + +class Solution { +public: + int firstBadVersion(int n) { + // 事实上,在最后一般需要判断。但这题确定target存在。 + int left = 1, right = n, mid; + while (left < right) { + mid = (right - left) / 2 + left; + if (isBadVersion(mid)) { + right = mid; + } else { + left = mid + 1; + } + } + return left; + } +}; diff --git a/278. First Bad Version/main.py b/278. First Bad Version/main.py new file mode 100644 index 0000000..3122ce3 --- /dev/null +++ b/278. First Bad Version/main.py @@ -0,0 +1,23 @@ +# The isBadVersion API is already defined for you. +# @param version, an integer +# @return a bool +# def isBadVersion(version): + +class Solution: + def firstBadVersion(self, n): + """ + :type n: int + :rtype: int + """ + left,right = 0,n + mid = 0 + while left