当前位置 : 主页 > 编程语言 > java >

#yyds干货盘点# 名企真题专题: 二分查找

来源:互联网 收集:自由互联 发布时间:2023-02-04
1.简述: 描述 对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。 给定一个整数数组A及它的大小n,同时给定要查找的

1.简述:

描述

对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。

给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次,请返回第一次出现的位置。

测试样例:

[1,3,5,7,9],5,3返回:1

2.代码实现:

import java.util.*;public class BinarySearch { public int getPos(int[] A, int n, int val) { // write code here int low=0,higth=n,res=-1; while (low != higth){ int mid = (low + higth)/2; if (A[mid] > val){ higth = mid; }else if (A[mid] < val){ low = mid; if (res != -1){ break; } }else { res = mid; higth = mid; } } return res; }}
网友评论