zoukankan      html  css  js  c++  java
  • 【Lintcode】074.First Bad Version

    题目:

    The code base version is an integer start from 1 to n. One day, someone committed a bad version in the code case, so it caused this version and the following versions are all failed in the unit tests. Find the first bad version.

    You can call isBadVersion to help you determine which version is the first bad one. The details interface can be found in the code's annotation part.

    you can use SVNRepo::isBadVersion(k) to judge whether the kth code version is bad or not.

    题解:

      注意:SVNRepo::isBadVersion(k)不能写成SVNRepo.isBadVersion(k), Lintcode要求这么写,后者编译错误。

    class Solution {
    public:
        /**
         * @param n: An integers.
         * @return: An integer which is the first bad version.
         */
        int findFirstBadVersion(int n) {
            int start = 1, end = n;
            while (start + 1 < end) {
                int mid = start + (end - start) / 2;
                if (SVNRepo::isBadVersion(mid)) {
                    end = mid;
                } else {
                    start = mid;
                }
            }
            
            if (SVNRepo::isBadVersion(start)) {
                return start;
            }
            
            return end;
        }
    };
  • 相关阅读:
    自控力和专注力是执行力的保证
    今宵又除夕
    买了小米盒子三代
    电容相位滞后?电感超前
    lcr电桥浅谈
    ad 线束和网络
    浅谈 R_S触发器
    NTSC PAL 介绍
    verilog 之流水灯
    io 口方向调整 stm32
  • 原文地址:https://www.cnblogs.com/Atanisi/p/6822079.html
Copyright © 2011-2022 走看看