题解 | #二分查找-II#

二分查找-II

http://www.nowcoder.com/practice/4f470d1d3b734f8aaf2afb014185b395

public int search (int[] nums, int target) {
        // write code here
        if (nums.length == 0) {
            return -1;
        }

        int l = 0;
        int r = nums.length;

        int mid = 0;

        while (l <= r) {

            mid = (l + r) / 2;

            if (nums[mid] < target) {
                l = mid + 1;
            } else if (nums[mid] > target){
                r = mid - 1;
            } else {
                while (mid > 0 && nums[mid] == nums[mid - 1]) {
                    mid--;
                }
                return mid;
            }
        }

        return -1;
    }
全部评论

相关推荐

彧未sr:查看图片
投递牧原集团等公司7个岗位
点赞 评论 收藏
分享
仁者伍敌:难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务