LeetCode(704)的二分查找 (简单)

题目描述:

704. 二分查找

给定一个 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

代码:

第一种:

class Solution {

public int search(int\[\] nums, int target) {

int i=0,j=nums.length-1;

while(i<=j){

int mid=(i+j)>>>1;

if(target<numsmid){

j=mid-1;

}else if(numsmid<target){

i=mid+1;

}

else{

return mid;

}

}

return -1;

}

}

第二种:

class Solution {

public int search(int\[\] nums, int target) {

int i=0,j=nums.length;

while(i<j){

int mid=(i+j)>>>1;

if(target<numsmid){

j=mid;

}else if(numsmid<target){

i=mid+1;

}

else{

return mid;

}

}

return -1;

}

}

第三种:

class Solution {

public int search(int\[\] nums, int target) {

int i=0,j=nums.length;

while(j-i>1){

int mid=(i+j)>>>1;

if(target<numsmid){

j=mid;

}else {

i=mid;

}

}

if(numsi==target){

return i;

}else{

return -1;

}

}

}

相关推荐
CSharp精选营18 小时前
关系型 vs 非关系型:从原理到选型,一文搞定数据库核心分类
数据结构·nosql·关系型数据库·非关系型数据库·技术选型
美团技术团队19 小时前
LongCat 开源 VitaBench 2.0:长期动态智能体基准新标杆
人工智能·算法
To_OC1 天前
LC 207 课程表:刚学图论那会儿,我连这是拓扑排序都没看出来
javascript·算法·leetcode
To_OC1 天前
LC 208 实现 Trie 前缀树:曾被名字劝退,写完发现是送分题
javascript·算法·leetcode
BadBadBad__AK2 天前
线段树维护区间 k 次方和
c++·数学·算法·stl
_清歌2 天前
DSpark 深度解读:DeepSeek-V4 如何用「半自回归」把推理速度提升 85%
算法
统计实现局2 天前
SVD 的三步走:双对角化、Givens 收敛、排序
算法
躬行见万象2 天前
《VLA 系列》UniLab 强化训练 | G1 机器人 |复现
算法
统计实现局2 天前
对称不定分解(Bunch-Kaufman):为什么 Cholesky 不够用
算法