力扣 LeetCode 704. 二分查找(Day1:数组)

解题思路:

二分查找主要分为[ left , right ]左闭右闭和[ left , right )左闭右开两种

此处采取[ left , right ]左闭右闭写法

注意:

  1. right的初始化取值

  2. while中取等

  3. right = mid -1 ;

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 - left) >> 1);
            if (nums[mid] > target) {
                right = mid - 1;
            } else if (nums[mid] < target) {
                left = mid + 1;
            } else {
                return mid;
            }
        }
        return -1;
    }
}
相关推荐
Sunhen_Qiletian1 天前
YOLOv2算法详解(上篇):从经典到进化的目标检测之路
算法·yolo·目标检测
QTreeY1231 天前
detr目标检测+deepsort/strongsort/bytetrack/botsort算法的多目标跟踪实现
人工智能·算法·yolo·目标检测·计算机视觉·目标跟踪
AiXed1 天前
PC微信协议之nid算法
python·网络协议·算法·微信
谈笑也风生1 天前
经典算法题之子集(四)
算法
mit6.8241 天前
划分dp+滑窗+前缀和|deque优化
算法
Zach_yuan1 天前
算法1111
算法
不穿格子的程序员1 天前
从零开始刷算法——二分-搜索旋转排序数组
数据结构·算法
做怪小疯子1 天前
LeetCode 热题 100——哈希——最长连续序列
算法·leetcode·哈希算法
Dream it possible!1 天前
LeetCode 面试经典 150_二叉树_二叉树展开为链表(74_114_C++_中等)
c++·leetcode·链表·面试·二叉树
做怪小疯子1 天前
LeetCode 热题 100——双指针——三数之和
算法·leetcode·职场和发展