我們正在玩乙個猜數字遊戲。 遊戲規則如下:
我從1到n選擇乙個數字。 你需要猜我選擇了哪個數字。
每次你猜錯了,我會告訴你這個數字是大了還是小了。
你呼叫乙個預先定義好的介面guess(int num)
,它會返回 3 個可能的結果(-1
,1
或0
):
-1 : 我的數字比較小示例 :1 : 我的數字比較大
0 : 恭喜!你猜對了!
輸入:n = 10, pick = 6二分查詢的擴充套件,隸屬於二分查詢吧輸出:6
# 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):
defguessnumber
(self, n)
:"""
:type n: int
:rtype: int
"""minc, maxc =
0, n-
1while minc <= maxc:
mid =
(minc+maxc)//2
if guess(mid)==-
1:maxc = mid-
1if guess(mid)==1
: minc = mid+
1if guess(mid)==0
:return mid
return mid+
1
執行用時 :24 ms, 在所有 python 提交中擊敗了56.95%的使用者記憶體消耗 :11.7 mb, 在所有 python 提交中擊敗了36.89%的使用者
leetcode猜數字大小
第一種方法 二分查詢 class solution object def guessnumber self,n type n int rtype int left 1 right n while left right mid left right 1 if guess mid 1 right mid...
LeetCode 374 猜數字大小
選擇乙個數字。你需要猜我選擇了哪個數字。每次你猜錯了,我會告訴你這個數字是大了還是小了。你呼叫乙個預先定義好的介面guess int num 它會返回 3 個可能的結果 1,1或0 1 我的數字比較小 1 我的數字比較大 0 恭喜!你猜對了!示例 n 10,我選擇 6.返回 6.個人感覺這裡的小和大...
LeetCode 猜數字大小(折半查詢)
我們正在玩乙個猜數字遊戲。遊戲規則如下 我從 1 到 n 選擇乙個數字。你需要猜我選擇了哪個數字。每次你猜錯了,我會告訴你這個數字是大了還是小了。你呼叫乙個預先定義好的介面 guess int num 它會返回 3 個可能的結果 1,1 或 0 1 我的數字比較小 1 我的數字比較大 0 恭喜!你猜...