[LintCode] 经典二分查找问题 - Java
2018-01-16 17:18
447 查看
描述
在一个排序数组中找一个数,返回该数出现的任意位置,如果不存在,返回-1样例
给出数组 [1, 2, 2, 4, 5, 5].对于 target = 2, 返回 1 或者 2.
对于 target = 5, 返回 4 或者 5.
对于 target = 6, 返回 -1.
分析
就用简单的二分查找算法解决源码
public class Solution { /* * @param nums: An integer array sorted in ascending order * @param target: An integer * @return: An integer */ public int findPosition(int[] nums, int target) { // write your code here int start = 0; int end = nums.length - 1; if (nums.length < 0) { return -1; } while (start <= end) { int mid = (start + end) / 2; if (nums[mid] == target) { return mid; } else { if (nums[mid] < target) { start = mid + 1; } else { end = mid - 1; } } } return -1; } }
相关文章推荐
- LintCode_Java旅程 经典二分查找问题(折半查找)
- 【LintCode-457】经典二分查找问题(Java实现)
- 【lintcode笔记】经典二分查找问题
- lintcode-457-经典二分查找问题
- Lintcode经典二分查找问题
- 经典二分查找问题-LintCode
- Lintcode 经典二分查找问题
- 【LintCode 简单】457. 经典二分查找问题
- 经典二分查找问题
- 457. 经典二分查找问题
- [经典面试题]二分查找问题汇总
- 二分查找问题(Java版)
- 经典二分查找问题
- 经典二分查找问题
- 经典二分查找问题
- 457 - 经典二分查找问题
- lintcode之经典二分查找
- LintCode python 小白-简单题-457经典二分查找问题
- 经典:Java及相关字符集编码问题研究
- 经典:Java及相关字符集编码问题研究