首页 > 其他分享 >力扣刷题

力扣刷题

时间:2023-04-17 21:22:33浏览次数:37  
标签:调用 错误 int isBadVersion 力扣 version 版本 刷题

 1 /* The isBadVersion API is defined in the parent class VersionControl.
 2       boolean isBadVersion(int version); */
 3  
 4 public class Solution extends VersionControl {
 5     public int firstBadVersion(int n) {
 6         if (n == 0) {
 7             return -1;
 8         }
 9         int left = 1;
10         int right = n;
11         int mid = 0;
12         while (left <= right) {
13             mid = left + (right - left) / 2;
14             if (isBadVersion(mid)) {
15                 right = mid - 1;
16                 //mid = (left + right) / 2;
17            } else {
18                 left = mid + 1;19                 //mid = (left + right) / 2;
20            }
21        }
22         return i;
23    }
24}

你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。

假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。

你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。

 

示例 1:

输入:n = 5, bad = 4
输出:4
解释:
调用 isBadVersion(3) -> false 
调用 isBadVersion(5) -> true 
调用 isBadVersion(4) -> true
所以,4 是第一个错误的版本。

示例 2:

输入:n = 1, bad = 1
输出:1

标签:调用,错误,int,isBadVersion,力扣,version,版本,刷题
From: https://www.cnblogs.com/arlblog/p/17327565.html

相关文章

  • 53. 最大子数组和(力扣)
    https://leetcode.cn/problems/maximum-subarray/1.暴力+前缀和classSolution{public:intmaxSubArray(vector<int>&nums){constintN=1e5+10;intsums[N];for(inti=0;i<nums.size();i++)if(i==0)sums[i]=nu......
  • Buuctf刷题Web 基础1
    1、[极客大挑战2019]EasySQL1题目,页面很酷炫!尝试一下万能密码提交得到flag{a21e57ef-6b2f-443e-a2fa-74635e6ce5aa}2、[极客大挑战2019]Havefun1题目是很可爱的一只小猫没有什么发现,F12检查一下于是乎传参http://84ceb43a-fd23-433b-9e30-84c174fd9b94.node4.buuoj.cn:81/?cat=......
  • Buuctf刷题Crypto 5day
    1、[WUSTCTF2020]佛说:只能四天先看题目,给了三个文件:尊即寂修我劫修如婆愍闍嚤婆莊愍耨羅嚴是喼婆斯吶眾喼修迦慧迦嚩喼斯願嚤摩隸所迦摩吽即塞願修咒莊波斯訶喃壽祗僧若即亦嘇蜜迦須色喼羅囉咒諦若陀喃慧愍夷羅波若劫蜜斯哆咒塞隸蜜波哆咤慧聞亦吽念彌諸嘚嚴諦咒陀叻咤叻諦缽隸祗......
  • buu刷题
    [GYCTF2020]Ezsqli知识点ascii比较盲注解题过程输入id=1的时候返回nu1l然后先判断是数字型还是字符型因为一些东西被过滤了输入1&&1=2返回因为这个使用某些字符会导致post传参时造成歧义这是将paylaodurl编码所以判断为字符型由于过滤了union所以不能使用......
  • 算法刷题-阶乘后的零(数学)、模拟计算器(算法初阶、基础知识)、解码方法(字符串、动态
    阶乘后的零(数学)给定一个整数n,返回n!结果中尾随零的数量。提示n!=n*(n-1)*(n-2)*...*3*2*1示例1:输入:n=3输出:0解释:3!=6,不含尾随0示例2:输入:n=5输出:1解释:5!=120,有一个尾随0示例3:输入:n=0输出:0提示:0<=n<=104**进阶:**你......
  • ssrf刷题
    在做题之前我们需要了解一些知识点:我们需要知道parse_url函数的使用方法。<?php$url="http://www.php.cn:8080/index.php?name=wxp&id=2";$parts=parse_url($url);print_r($parts);?>运行结果:   可以看到这个函数的作用就是解析URL,并返回url的组成部分。......
  • 力扣:153. 寻找旋转排序数组中的最小值
    已知一个长度为n的数组,预先按照升序排列,经由1到n次旋转后,得到输入数组。例如,原数组nums=[0,1,2,4,5,6,7]在变化后可能得到:若旋转4次,则可以得到[4,5,6,7,0,1,2]若旋转7次,则可以得到[0,1,2,4,5,6,7]注意,数组[a[0],a[1],a[2],...,a[n-1]]旋转一次的结果为数......
  • 2023/04/12刷题
    C.MakeItGood链接C.MakeItGood这个题是说去掉前缀,我们可以发现如果一个数列可以分为一个连续的上升区域和一个连续的下降区域的话,该数列是好的,该题的思路就是从后向前找到符合该特征的最长的序列#include<iostream>#include<algorithm>#include<cstdio>#includ......
  • 力扣1127(MySQL)-用户购买平台(困难)
    题目:支出表:Spending这张表记录了用户在一个在线购物网站的支出历史,该在线购物平台同时拥有桌面端(‘desktop’)和手机端(‘mobile’)的应用程序。这张表的主键是(user_id,spend_date,platform)。平台列platform是一种ENUM,类型为(‘desktop’,‘mobile’)。问题写一段SQL......
  • 力扣1126(MySQL)-查询活跃业务(中等)
    题目:事件表:Events此表的主键是(business_id,event_type)。表中的每一行记录了某种类型的事件在某些业务中多次发生的信息。问题写一段SQL来查询所有活跃的业务。如果一个业务的某个事件类型的发生次数大于此事件类型在所有业务中的平均发生次数,并且该业务至少有两个这样......