每日编程-110期二分查找

Posted 灰灰考研

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日编程-110期二分查找相关的知识,希望对你有一定的参考价值。

今日问题:

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


示例 1:

输入:nums =[-1,0,3,5,9,12], target = 9

输出: 4

解释: 9 出现在nums中并且下标为 4

示例 2:

输入:nums =[-1,0,3,5,9,12], target = 2

输出: -1

解释: 2 不存在nums中因此返回 -1

 

提示:

  1. 你可以假设 nums 中的所有元素是不重复的。

  2. n 将在 [1, 10000]之间。

  3. nums 的每个元素都将在 [-9999, 9999]之间。


解决方法:

C++代码:


C代码:

【每日编程-110期】二分查找


Java代码:



明日题目预告:

山脉数组的峰顶索引

我们把符合下列属性的数组 A 称作山脉:

  • A.length     >= 3

  • 存在 0 < i < A.length - 1 使得A[0] < A[1] <     ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]

给定一个确定为山脉的数组,返回任何满足 A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... >A[A.length - 1]  i 的值。

示例 1

输入:[0,1,0]

输出:1

示例 2

输入:[0,2,1,0]

输出:1

 

提示:

  1. 3 <=     A.length <= 10000

  2. 0 <= A[i] <= 10^6

  3. A 是如上定义的山脉

以上是关于每日编程-110期二分查找的主要内容,如果未能解决你的问题,请参考以下文章

什么是二分查找算法?丨CSDN编程百科

算法?日更?第二十四期二分查找和二分答案的区别

每日编程-20170425

每日算法— 二分查找

[算法必须死 第3期] 旋转数组的二分查找

js 二分查找法之每日一更