你是產品經理,目前正在帶領乙個團隊開發新的產品。不幸的是,你的產品的最新版本沒有通過質量檢測。由於每個版本都是基於之前的版本開發的,所以錯誤的版本之後的所有版本都是錯的。
假設你有 n 個版本 [1, 2, …, n],你想找出導致之後所有版本出錯的第乙個錯誤的版本。
你可以通過呼叫 bool isbadversion(version) 介面來判斷版本號 version是否在單元測試**錯。實現乙個函式來查詢第乙個錯誤的版本。你應該儘量減少對呼叫 api 的次數。
示例:
給定 n =
5,並且 version =
4 是第乙個錯誤的版本。
呼叫 isbadversion(3
)->
false
呼叫 isbadversion(5
)->
true
呼叫 isbadversion(4
)->
true
所以,4 是第乙個錯誤的版本。
第一反應是使用二分查詢法,**如下:
/* the isbadversion api is defined in the parent class versioncontrol.
boolean isbadversion(int version); */
public
class
solution
extends
versioncontrol
elseif(
isbadversion
(mid)
&&isbadversion
(mid-1)
)else
}return0;
}}
可悲的是超時了,怎麼也想不到是取中位數的時候有問題了,更改後的**:
/* the isbadversion api is defined in the parent class versioncontrol.
boolean isbadversion(int version); */
public
class
solution
extends
versioncontrol
elseif(
isbadversion
(mid)
&&isbadversion
(mid-1)
)else
}return0;
}}
然後再次精簡
/* the isbadversion api is defined in the parent class versioncontrol.
boolean isbadversion(int version); */
public
class
solution
extends
versioncontrol
else
}return end;
}}
leetcode之278第乙個錯誤的版本
你是產品經理,目前正在帶領乙個團隊開發新的產品。不幸的是,你的產品的最新版本沒有通過質量檢測。由於每個版本都是基於之前的版本開發的,所以錯誤的版本之後的所有版本都是錯的。假設你有 n 個版本 1,2,n 你想找出導致之後所有版本出錯的第乙個錯誤的版本。你可以通過呼叫 bool isbadversio...
python第乙個程式設計 第乙個 Python 程式
簡述 安裝完 python 後,windows 中 開始選單或安裝目錄下就會有 idle 開發 python 程式的基本 ide 整合開發環境 幫助手冊 模組文件等。linux 中 只需要在命令列中輸入 python 命令即可啟動互動式程式設計。互動式程式設計 互動式程式設計不需要建立指令碼檔案,是...
LeetCode 第乙個錯誤的版本
你是產品經理,目前正在帶領乙個團隊開發新的產品。不幸的是,你的產品的最新版本沒有通過質量檢測。由於每個版本都是基於之前的版本開發的,所以錯誤的版本之後的所有版本都是錯的。假設你有 n 個版本 1,2,n 你想找出導致之後所有版本出錯的第乙個錯誤的版本。你可以通過呼叫 bool isbadversio...