摘要:不幸的是,你的產(chǎn)品的最新版本沒有通過質(zhì)量檢測。由于每個版本都是基于之前的版本開發(fā)的,所以錯誤的版本之后的所有版本都是錯的。假設你有個版本,你想找出導致之后所有版本出錯的第一個錯誤的版本。示例給定,并且是第一個錯誤的版本。
題目描述
你是產(chǎn)品經(jīng)理,目前正在帶領一個團隊開發(fā)新的產(chǎn)品。不幸的是,你的產(chǎn)品的最新版本沒有通過質(zhì)量檢測。由于每個版本都是基于之前的版本開發(fā)的,所以錯誤的版本之后的所有版本都是錯的。
假設你有 n 個版本 [1, 2, ..., n],你想找出導致之后所有版本出錯的第一個錯誤的版本。
你可以通過調(diào)用 bool isBadVersion(version) 接口來判斷版本號 version 是否在單元測試中出錯。實現(xiàn)一個函數(shù)來查找第一個錯誤的版本。你應該盡量減少對調(diào)用 API 的次數(shù)。
示例:
給定 n = 5,并且 version = 4 是第一個錯誤的版本。 調(diào)用 isBadVersion(3) -> false 調(diào)用 isBadVersion(5) -> true 調(diào)用 isBadVersion(4) -> true
所以,4 是第一個錯誤的版本。
代碼實現(xiàn)// 二分查找變種 /** * Definition for isBadVersion() * * @param {integer} version number * @return {boolean} whether the version is bad * isBadVersion = function(version) { * ... * }; */ /** * @param {function} isBadVersion() * @return {function} */ var solution = function(isBadVersion) { /** * @param {integer} n Total versions * @return {integer} The first bad version */ return function(n) { let l = 1, r = n; while(l <= r) { let mid = l + Math.floor((r-l)/2); if(isBadVersion(mid)) r = mid-1; else l = mid+1; } return l; }; };
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/97243.html
摘要:在掘金上看到了一位大佬發(fā)了一篇很詳細的面試記錄文章一年半經(jīng)驗,百度有贊阿里面試總結(jié),為了查漏補缺,抽空就詳細做了下。 在掘金上看到了一位大佬發(fā)了一篇很詳細的面試記錄文章-《一年半經(jīng)驗,百度、有贊、阿里面試總結(jié)》,為了查漏補缺,抽空就詳細做了下。(估計只有我這么無聊了哈哈哈) 有給出的或者有些不完善的答案,也盡力給出/完善了(可能有錯,大家自行辨別)。有些很困難的題目(例如實現(xiàn)Promi...
摘要:在掘金上看到了一位大佬發(fā)了一篇很詳細的面試記錄文章一年半經(jīng)驗,百度有贊阿里面試總結(jié),為了查漏補缺,抽空就詳細做了下。 在掘金上看到了一位大佬發(fā)了一篇很詳細的面試記錄文章-《一年半經(jīng)驗,百度、有贊、阿里面試總結(jié)》,為了查漏補缺,抽空就詳細做了下。(估計只有我這么無聊了哈哈哈) 有給出的或者有些不完善的答案,也盡力給出/完善了(可能有錯,大家自行辨別)。有些很困難的題目(例如實現(xiàn)Promi...
摘要:貪心算法每一步必須滿足一下條件可行的即它必須滿足問題的約束。四題目分析貪心算法,總是做出在當前看來是最好的選擇,不從整體最優(yōu)上加以考慮,也就是說,只關(guān)心當前最優(yōu)解,按照貪心策略,不關(guān)心以后,我們只關(guān)心當前利益。 一、寫在前面 為什么要在LeetCode刷題?大家都知道不管是校招還是社招算法題是必考題,而這一部分恰巧是大多數(shù)人的短板,所以刷題首先是為了提高自身的編程能力,能夠在算法面試中...
閱讀 2308·2021-11-24 09:39
閱讀 3039·2021-10-15 09:39
閱讀 3088·2021-07-26 23:38
閱讀 2288·2019-08-30 11:14
閱讀 3409·2019-08-29 16:39
閱讀 1713·2019-08-29 15:23
閱讀 778·2019-08-29 13:01
閱讀 2663·2019-08-29 12:29