From 2f3140e844eb9a3c8eba2adf66308cae4400a2e4 Mon Sep 17 00:00:00 2001 From: AthulJohn <59361607+AthulJohn@users.noreply.github.com> Date: Thu, 14 Oct 2021 10:49:59 +0530 Subject: [PATCH] Create 374.guess-number-higher-or-lower.cpp 0 ms solution in CPP. Using Recursion. --- C++/374.guess-number-higher-or-lower.cpp | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 C++/374.guess-number-higher-or-lower.cpp diff --git a/C++/374.guess-number-higher-or-lower.cpp b/C++/374.guess-number-higher-or-lower.cpp new file mode 100644 index 0000000..67f140d --- /dev/null +++ b/C++/374.guess-number-higher-or-lower.cpp @@ -0,0 +1,27 @@ +/** + * Forward declaration of guess API. + * @param num your guess + * @return -1 if num is lower than the guess number + * 1 if num is higher than the guess number + * otherwise return 0 + * int guess(int num); + */ + +class Solution { +public: + int guessNumber(int n) { + return gn(1,n); + } + int gn(long long l,int h){ + switch(guess((l+h)/2)){ + case 0: + return (l+h)/2; + case 1: + return gn((l+h)/2+1,h); + case -1: + return gn(l,(l+h)/2); + } + return 1; + + } +};