Leetcode704二分查找、折半查找(Java实现)

好久没有更新算法题,今天来写一道二分查找的题目。题目要求如下,

那么这道题的解题思路如下,我们寻找的过程是首先去访问数组的中间位置mid,如果nums[mid]大于了targe那么说明,我们要找的数在mid的左半边,此时我们让right-1。

如果nums[mid]小于了targe那么说明我们要找的数在mid的右,因此此时我们应该让下标left+1。

那么如果nums[mid]等于了targe那么说明找到了将mid进行返回即可。大致的思路就是这样,详细的代码如下:

java 复制代码
class Solution {
    public int search(int[] nums, int target) {
        int left=0;
        int right=nums.length-1;
        while(left<=right){
            int mid= (left+right)/2;
            if(nums[mid]<target){
                left=mid+1;
            }else if(nums[mid]>target){
                right=mid-=1;
            }else{
                return mid;
            }
        }
        return -1;

    }
}

其实呢二分查找的思想不难,就是有时候实现的时候会出现各种错误,那么如果有任何问题,可以在文章下方留言,博主看到了会进行答疑解释。如果觉得博主写的可以麻烦给个3连谢谢(●ˇ∀ˇ●)!

相关推荐
??tobenewyorker几秒前
力扣打卡第二十一天 中后遍历+中前遍历 构造二叉树
数据结构·c++·算法·leetcode
蓝澈11218 分钟前
迪杰斯特拉算法之解决单源最短路径问题
java·数据结构
贾全22 分钟前
第十章:HIL-SERL 真实机器人训练实战
人工智能·深度学习·算法·机器学习·机器人
GIS小天37 分钟前
AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年7月4日第128弹
人工智能·算法·机器学习·彩票
满分观察网友z1 小时前
开发者的“右”眼:一个树问题如何拯救我的UI设计(199. 二叉树的右视图)
算法
森焱森2 小时前
无人机三轴稳定化控制(1)____飞机的稳定控制逻辑
c语言·单片机·算法·无人机
循环过三天2 小时前
3-1 PID算法改进(积分部分)
笔记·stm32·单片机·学习·算法·pid
呆瑜nuage2 小时前
数据结构——堆
数据结构
蓝澈11213 小时前
弗洛伊德(Floyd)算法-各个顶点之间的最短路径问题
java·数据结构·动态规划
zl_dfq3 小时前
数据结构 之 【堆】(堆的概念及结构、大根堆的实现、向上调整法、向下调整法)(C语言实现)
数据结构