二分查找
来源:互联网 发布:淘宝商家等级划分 编辑:程序博客网 时间:2024/05/21 15:51
容易 二分查找
29%
通过
给定一个排序的整数数组(升序)和一个要查找的整数target
,用O(logn)
的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1
。
Yes
样例
在数组 [1, 2, 3, 3, 4, 5, 10]
中二分查找3
,返回2
。
挑战
如果数组中的整数个数超过了2^32,你的算法是否会出错?
class Solution { /** * @param nums: The integer array. * @param target: Target to find. * @return: The first position of target. Position starts from 0. */ public int binarySearch(int[] nums, int target) {int start = 0;int end = nums.length-1;if(end==0) return -1;while(start<end){int mid = (end-start)/2+start; if(nums[mid]>target)end = mid-1;else if(nums[mid]<target) start = mid+1;else end = mid;} if(nums[end]==target) return end;return -1; }}
0 0
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 编程之法2----字符串的包含
- android handler 和Looper 的理解
- 求整数数组中的最长递增子序列长度
- 软考路之算法汇总
- Android 手机红外遥控器实现
- 二分查找
- 经典的30道JAVA面试题
- 异步过程调用APC
- HDU 4354 Missile(树形DP)
- Java抽象类和接口的区别
- programming-challenges Unidirectional TSP (111104) 题解
- View的bounds和frame的区别
- Java的四中引用类型
- 源码解析Android中View的measure量算过程