二分查找

题目要求

        给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。(元素无重复)

        这道题目中的数组为有序数组,同时题目还强调数组中无重复元素,因为如果有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件。二分法查找元素的写法大体可分为两种,一种是左闭右闭区间,一种是左闭右开区间,本文给出第一种的写法。

c++版本:

二分查找_第1张图片

Java版本:

二分查找_第2张图片

Python3版本:

二分查找_第3张图片

拓展:如果数组中含有重复元素,那该如何使用二分查找法呢?

你可能感兴趣的:(算法)