Lintcode经典二分查找问题
来源:互联网 发布:linux文件目录介绍 编辑:程序博客网 时间:2024/05/29 15:59
经典二分查找问题
在一个排序数组中找一个数,返回该数出现的任意位置,如果不存在,返回-1
样例
给出数组 [1, 2, 2, 4, 5, 5]
.
- 对于 target =
2
, 返回 1 或者 2. - 对于 target =
5
, 返回 4 或者 5. - 对于 target =
6
, 返回 -1.
public class Solution {
public int findPosition(int[] nums, int target) {
if(nums.length==0||nums==null){
return -1;
}
int start=0;
int n=nums.length;
int end=n-1;
int mid;
while(start+1<end){
mid=(end+start)/2;
if(nums[mid]>=target){
end=mid;
}else{
start=mid;
}
}
if(nums[start]==target){
return start;
}
if(nums[end]==target){
return end;
}
else{
return -1;
}}
}
public int findPosition(int[] nums, int target) {
if(nums.length==0||nums==null){
return -1;
}
int start=0;
int n=nums.length;
int end=n-1;
int mid;
while(start+1<end){
mid=(end+start)/2;
if(nums[mid]>=target){
end=mid;
}else{
start=mid;
}
}
if(nums[start]==target){
return start;
}
if(nums[end]==target){
return end;
}
else{
return -1;
}}
}
阅读全文
0 0
- Lintcode 经典二分查找问题
- Lintcode经典二分查找问题
- 经典二分查找问题-LintCode
- 【lintcode笔记】经典二分查找问题
- lintcode之经典二分查找
- 【LintCode-457】经典二分查找问题(Java实现)
- 经典二分查找问题
- 经典二分查找问题
- 经典二分查找问题
- 经典二分查找问题
- LintCode python 小白-简单题-457经典二分查找问题
- 二分查找-lintcode
- 二分查找-lintcode
- lintcode ----二分查找
- LintCode之二分查找
- lintcode:二分查找
- LintCode(easy)二分查找
- LintCode 14 二分查找
- LVS-NAT, LVS-DR, LVS-KEEPALIVED,LVS-TUN配置
- (JAVA)窗口-201403-2
- Vim + Markdown 结合使用
- sql命令中关于对建好表的操作
- Spring AOP之ProxyFactoryBean与BeanNameAutoProxyCreator
- Lintcode经典二分查找问题
- Java中this和super的用法总结
- BZOJ2178: 圆的面积并(Simpson积分)
- Java-继承
- 框架
- sql中的函数总结
- 对城市名搜索(汉字、拼音)功能的改进 / 小程序城市区县定位模块改进
- 查看文件md5码
- GCD