题解 | #二分查找-II#

二分查找-II

http://www.nowcoder.com/practice/4f470d1d3b734f8aaf2afb014185b395

超过87%java

    public  int search (int[] nums, int target) {
        // write code here
        return erfen(nums, 0, nums.length - 1, target);
    }

    public static int erfen(int[]arr,int low,int high, int target){
        int erfen=-1;
        if (low<=high){
            int mid = (low+high)/2;
            if (arr[mid]>target){
                 erfen = erfen(arr, low, mid-1, target);
            }
            if (arr[mid]==target){
                erfen= mid;
                int erfen1 = erfen(arr, low, mid - 1, target);
                if (-1<erfen1 && erfen1<erfen){
                    erfen=erfen1;
                }
            }
            if (arr[mid]<target){
                erfen = erfen(arr, mid+1, high, target);
            }
        }
        return erfen;
    }
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务