0
点赞
收藏
分享

微信扫一扫

递归实现二分

public class BinarySearch {
    private int[] array;
    /**
     * 递归实现二分查找
     * @param target
     * @return
     */
    public int searchRecursion(int target) {
        if (array != null) {
            return searchRecursion(target, 0, array.length - 1);
        }
        return -1;
    }
    private int searchRecursion(int target, int start, int end) {
        if (start > end) {
            return -1;
        }
        int mid = start + (end - start) / 2;
        if (array[mid] == target) {
            return mid;
        } else if (target < array[mid]) {
            return searchRecursion(target, start, mid - 1);
        } else if (target > array[mid]) {
            return searchRecursion(target, mid + 1, end);
        }
    }
}

参考https://blog.csdn.net/Summer_night_star/article/details/123012386?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170504317716800182164327%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=170504317716800182164327&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-21-123012386-null-null.142^v99^pc_search_result_base1&utm_term=%E4%BA%8C%E5%88%86&spm=1018.2226.3001.4187


举报

相关推荐

0 条评论