日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

LeetCode简单题之猜数字大小

發布時間:2023/11/28 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode简单题之猜数字大小 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

猜數字游戲的規則如下:
每輪游戲,我都會從 1 到 n 隨機選擇一個數字。 請你猜選出的是哪個數字。
如果你猜錯了,我會告訴你,你猜測的數字比我選出的數字是大了還是小了。
你可以通過調用一個預先定義好的接口 int guess(int num) 來獲取猜測結果,返回值一共有 3 種可能的情況(-1,1 或 0):
-1:我選出的數字比你猜的數字小 pick < num
1:我選出的數字比你猜的數字大 pick > num
0:我選出的數字和你猜的數字一樣。恭喜!你猜對了!pick == num
返回我選出的數字。
示例 1:
輸入:n = 10, pick = 6
輸出:6
示例 2:
輸入:n = 1, pick = 1
輸出:1
示例 3:
輸入:n = 2, pick = 1
輸出:1
示例 4:
輸入:n = 2, pick = 2
輸出:2
提示:
1 <= n <= 2^31 - 1
1 <= pick <= n
來源:力扣(LeetCode)

解題思路

??給定了范圍和判斷條件,我們就能確定猜的數字是在那個子集里。給定的范圍天生是一個有序的序列,所以這個題本質上還是一個二分查找的題,鑒于此,我們可以采用不識別相等的二分查找進行。

# 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: int) -> int:class Solution:def guessNumber(self, n: int) -> int:low,high=1,nwhile low<high:mid=(low+high)//2if guess(mid)>0:low=mid+1else:high=midreturn low

總結

以上是生活随笔為你收集整理的LeetCode简单题之猜数字大小的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。