文档章节

LeetCode(63)-First Bad Version

fengsehng
 fengsehng
发布于 2016/11/09 09:16
字数 256
阅读 0
收藏 0

题目:

You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is developed based on the previous version, all the versions after a bad version are also bad.

Suppose you have n versions [1, 2, ..., n] and you want to find out the first bad one, which causes all the following ones to be bad.

You are given an API bool isBadVersion(version) which will return whether version is bad. Implement a function to find the first bad version. You should minimize the number of calls to the API.

思路:

  • 题意:给定1~n个数字代表产品,其中一个产品坏了,后面的全坏,要求检测第一个坏的(提供了函数)
  • 二分法,这里的二分法判断条件比较特殊,当然后面的设置变量要用long,没想明白

代码:

/* The isBadVersion API is defined in the parent class VersionControl. boolean isBadVersion(int version); */

public class Solution extends VersionControl {
    public int firstBadVersion(int n) {
         long begin = 1;  
        long end = n;  
        if(n<1) return 0;  
        while(begin<end){  
            long mid = (begin+end)/2;  
            if(isBadVersion((int)mid)){  
                end = mid-1;  
            }else{  
                begin = mid+1;  
            }  
        }  
        if(isBadVersion((int)begin)) return (int)begin;  
        return (int)begin+1;  
    }
}

© 著作权归作者所有

共有 人打赏支持
fengsehng
粉丝 4
博文 284
码字总数 214494
作品 0
朝阳
程序员
私信 提问
[LeetCode] First Bad Version

题目 https://leetcode.com/problems/first-bad-version/ You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your ......

u013553529
2017/11/25
0
0
LeetCode:First Bad Version - 第一个坏版本

1、题目名称 First Bad Version(第一个坏版本) 2、题目地址 https://leetcode.com/problems/first-bad-version/ 3、题目内容 英文: You are a product manager and currently leading a ......

北风其凉
2015/09/13
1K
0
278. First Bad Version - LeetCode

Question 278. First Bad Version Solution 题目大意:产品有5个版本1,2,3,4,5其中下一个版本依赖上一个版本,即版本4是坏的,5也就是坏的,现在要求哪个版本是第一个坏的。 思路:二分法...

yysue
08/07
0
0
Leetcode日记6

(2015/11/28) LeetCode 303 Range Sum Query - Immutable:(Easy) 1)超时的算法:每次调用sumRange函数进行一次累加运算。 2)不超时的算法:改变数组的内容,存储从0下标到当前下标所有...

fxdhdu
2015/11/28
73
0
Leetcode日记7

(2015/1/2) LeetCode 318 Maximum Product of Word Lengths 题目: 1)求一个字符串数组中,两个不同的字符串的长度乘积的最大值。 2)这两个字符串不能共同拥有同一个字符。(两个字符串的...

fxdhdu
2016/01/03
48
0

没有更多内容

加载失败,请刷新页面

加载更多

pyhanlp 停用词与用户自定义词典功能详解

hanlp的词典模式 之前我们看了hanlp的词性标注,现在我们就要使用自定义词典与停用词功能了,首先关于HanLP的词性标注方式具体请看HanLP词性标注集。 其核心词典形式如下: 自定义词典 自定义...

左手的倒影
22分钟前
1
0
颜色模型和颜色应用---CMY和CMYK颜色模型

CMY参数 CMY颜色空间和RGB颜色空间之间的转换

中国龙-扬科
30分钟前
3
0
Golang通道的无阻塞读写的方法示例

无论是无缓冲通道,还是有缓冲通道,都存在阻塞的情况,但其实有些情况,我们并不想读数据或者写数据阻塞在那里,有1个唯一的解决办法,那就是使用select结构。 这篇文章会介绍,哪些情况会存...

kaixin_code
31分钟前
2
0
Web登录中的信心安全问题

1. 一个简单的HTML例子看看用户信息安全 标准的HTML语法中,支持在form表单中使用<input></input>标签来创建一个HTTP提交的属性,现代的WEB登录中,常见的是下面这样的表单: <form action ...

开元中国2015
36分钟前
1
0
Hbulider打包iOS遇到的一些坑

video 全屏播放问题 在 manifest.json 的代码视图中,plus 值需加入 "allowsInlineMediaPlayback": true,如下,允许ios不进行全屏播放 "plus": { "allowsInlineMediaPlayback": true} ...

林梓阳
37分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部