二分查找

二分查找-I

https://www.nowcoder.com/practice/d3df40bd23594118b57554129cadf47b

   public int search (int[] nums, int target) {
        // write code here
        if (nums.length == 0)
            return -1;
        int left = 0, right = nums.length - 1, mid = 0;
		
        while (left <= right) {
		  //取中间值,右移一位表示除2
            mid = (left + right) >>1;
		  //大于目标值 表示target在左边,改变有边界
            if (nums[mid] > target)
                right = mid - 1;
		  //小于目标值 表示target在右边 改变左边界
            else if (nums[mid] < target)
                left = mid + 1;
		  //left=right=mid 找到返回target
            else
                return mid;
        }

		//否则返回-1
        return -1;
    }

全部评论

相关推荐

程序员小白条:主要没亮点,项目也是网上的,平平无奇,那只能海投了,奖项总得有一些,然后就是现在最好是前后端都会,自己能做项目并且运维的,要么找星球项目改改,要么找个开源项目改改,自己能拓展功能才是主要的,跟做效率很低很低
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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