精華區beta Marginalman 關於我們 聯絡資訊
374. Guess Number Higher or Lower 龍大想要和邊板仔玩猜數字遊戲,只有龍大知道答案的數字是什麼,當我們猜的時候龍 大會根據你猜的數字給你一個數字: 龍大提供一個函數guess(int num)返回一個整數 -1:你猜的數字太小了 1:你猜的數字太大了 0:你覺得是這個數字那就是吧- - 我們返回龍大才知道的數字。 Example: Input: n = 10, pick = 6 Output: 6 Example: Input: n = 1, pick = 1 Output: 1 思路: 1.毫無反應就是一個二分搜尋 JavaCode: -------------------------------- public class Solution extends GuessGame { public int guessNumber(int n) { int left = 0; int right = n; while (left <= right) { int mid = left + (right - left)/2; if (guess(mid) == 0) { return mid; } else if (guess(mid) == -1) { right = mid - 1; } else { left = mid + 1; } } return -1; } } -------------------------------- 龍大~ -- https://i.imgur.com/He2OJUh.jpg -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.29.216 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1668560900.A.974.html
pandix: 笑死 11/16 09:34
KinohikoRin: 還有這招 11/16 09:37