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

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

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

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

那么如果numsmid等于了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连谢谢(●ˇ∀ˇ●)!

相关推荐
sycmancia3 分钟前
Qt——多线程与界面组件的通信
开发语言·qt·算法
想吃火锅100522 分钟前
【leetcode】5.最长回文子串js
算法·leetcode·职场和发展
CoderYanger37 分钟前
A.每日一题:1967题+1331题
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
Jasmine_llq44 分钟前
《P17010 [GESP202606 五级] 排排坐》
算法·贪心算法·数学化简求和式·排序sort 反向迭代器降序·线性遍历累加计算总权重和
va学弟1 小时前
LeetCode 热题 100 题解(1):哈希
python·算法·leetcode·哈希算法
程序员老陆1 小时前
使用Qt+大华设备SDK预览大华摄像机视频
qt·算法·音视频·视频监控
罗超驿1 小时前
9.优先级队列与堆:从底层原理到实战应用的完整指南
数据结构·算法
AI科技星2 小时前
光速螺旋时空曲率挠率拓扑统一场论——四大力全域闭环求导、精算验证与第一性原理完备证明
线性代数·算法·决策树·机器学习·常温超导·ai科技星
牧以南歌〆2 小时前
数据结构<三>单循环链表
c语言·数据结构·算法·链表
liuzhijie-06142 小时前
Codeforces 2245 D2 / E / F 题解
算法