搜索

有序数组左边最大值


发布时间: 2022-11-24 18:30:05    浏览次数:44 次
一个有序数组[1,2,3,3,5,6,10,19]

输出->输入数字的左边最大值

比如: 

3->2

19->10 

11->10

 

public Integer search(Integer[] nums, Integer target) {
         if(target<nums[0]){
             return null;
         }
         int high = nums.length-1;
         if(target>nums[high]){
             return a[high];
         }
         int low = 0;
         while(low<=high){
             int mid = (low+high)/2;
             if(target>nums[mid]){
                if(target<nums[mid+1]){
                     return nums[mid];
                }else{
                     low = mid+1;
                 }

             }else if(target<nums[mid]){
                if(target>nums[mid-1]){
                     return nums[mid-1];
                }else{
                     high = mid-1;
                 }

             }else{
                if(a[mid-1]!=target){
                    return a[mid-1];
                }else{
                    high = mid -1;
                }

             }

         }

    }

 

免责声明 有序数组左边最大值,资源类别:文本, 浏览次数:44 次, 文件大小:-- , 由本站蜘蛛搜索收录2022-11-24 06:30:05。此页面由程序自动采集,只作交流和学习使用,本站不储存任何资源文件,如有侵权内容请联系我们举报删除, 感谢您对本站的支持。 原文链接:https://www.cnblogs.com/shijianchuzhenzhi/p/16735811.html