From be910cef3e87fa917f01a174fd38a8baffe548b1 Mon Sep 17 00:00:00 2001 From: Azureki Date: Wed, 24 Apr 2019 18:20:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8C=9C=E5=A4=A7=E5=B0=8F=E3=80=82py&cpp?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 374. Guess Number Higher or Lower/main.cpp | 25 ++++++++++++++++++++++ 374. Guess Number Higher or Lower/main.py | 22 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 374. Guess Number Higher or Lower/main.cpp create mode 100644 374. Guess Number Higher or Lower/main.py diff --git a/374. Guess Number Higher or Lower/main.cpp b/374. Guess Number Higher or Lower/main.cpp new file mode 100644 index 0000000..4f5d8e2 --- /dev/null +++ b/374. Guess Number Higher or Lower/main.cpp @@ -0,0 +1,25 @@ +// Forward declaration of guess API. +// @param num, your guess +// @return -1 if my number is lower, 1 if my number is higher, otherwise return +// 0 +int guess(int num); + +class Solution { +public: + int guessNumber(int n) { + int left = 1, right = n; + int res, mid; + while (left < right) { + mid = (right - left) / 2 + left; + res = guess(mid); + if (res == -1) { + right = mid - 1; + } else if (res == 1) { + left = mid + 1; + } else { + return mid; + } + } + return left; + } +}; diff --git a/374. Guess Number Higher or Lower/main.py b/374. Guess Number Higher or Lower/main.py new file mode 100644 index 0000000..61fc28f --- /dev/null +++ b/374. Guess Number Higher or Lower/main.py @@ -0,0 +1,22 @@ +# The guess API is already defined for you. +# @param num, your guess +# @return -1 if my number is lower, 1 if my number is higher, otherwise return 0 +# def guess(num): + +class Solution(object): + def guessNumber(self, n): + """ + :type n: int + :rtype: int + """ + left, right = 1, n + while left < right: + mid = (left + right)//2 + res = guess(mid) + if res == -1: + right = mid - 1 + elif res == 1: + left = mid + 1 + else: + return mid + return left