码迷,mamicode.com
首页 > 其他好文 > 详细

binary search Template

时间:2015-02-07 18:40:45      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

Binary search is a famous question in algorithm. For a given sorted array (ascending order) and a target number, find the first index of this number in O(log n) time complexity. If the target number does not exist in the array, return -1. Example If the array is [1, 2, 3, 3, 4, 5, 10], for given target 3, return 2.

技术分享

public class BinarySearch {
    public int binarySearch(int[] A, int target) {
        if (A.length == 0)
            return -1;
        int start = 0;
        int end = A.length - 1;
        int mid;

        while (start + 1 < end) {
            mid = start + (end - start) / 2;
            if (A[mid] == target)
                end = mid;
            else if (A[mid] < target)
                start = mid;
            else if (A[mid] > target)
                end = mid;
        }

        if (A[start] == target)
            return start;
        if (A[end] == target)
            return end;
        return -1;
    }
}

binary search Template

标签:

原文地址:http://www.cnblogs.com/luochuanghero/p/4279057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!