LeetCode 猜數字大小(Python版本)

2021-09-26 04:32:42 字數 1227 閱讀 8306

我們正在玩乙個猜數字遊戲。 遊戲規則如下:

我從1n選擇乙個數字。 你需要猜我選擇了哪個數字。

每次你猜錯了,我會告訴你這個數字是大了還是小了。

你呼叫乙個預先定義好的介面guess(int num),它會返回 3 個可能的結果(-110):

-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 恭喜!你猜...