首页 > 其他分享 >有序数组左边最大值

有序数组左边最大值

时间:2022-09-27 20:37:22浏览次数:47  
标签:10 return 左边 最大值 mid else high 数组 Integer

一个有序数组[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;
                }

             }

         }

    }

 

标签:10,return,左边,最大值,mid,else,high,数组,Integer
From: https://www.cnblogs.com/shijianchuzhenzhi/p/16735811.html

相关文章

  • 同一个数据源赋值成两个数组、避免数据会相互影响,可使用JSON.parse(JSON.stringify())
        getListCountryJdSc(obj).then((res)=>{        this.SummaryList=res.data.data        this.jdDataList=JSON.pars......
  • 数组的定义
    数组的定义数组是相同类型数据的有序集合.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可......
  • C语言数组越界和溢出
    一、数组越界为了保证C/C++的运行效率,所以它们都不对数组越界进行检查。#include<stdio.h>intmain(){inta[4]={1,2,3,4};for(inti=-2;i<=8;++......
  • 【code基础】顺序数组的去重
    掌握顺序数组的去重,对后续算法的去重剪枝,降低时间复杂度很有用,其基本思路如下:1.双指针,k和i。其中k指向不重复的位置,i为数组的遍历指针2.对数组进行遍历,其中i可以从1开......
  • 数组中的第K个最大元素
    题目描述:给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。思路:首先......
  • js 数组之 splice
    //将一个数组进行截取,返回的是数组被截取的部分//余下的放在留在原来的数组里面(1)[].splice(arg1,arg2);第一个表示的是开始的下标,第二个表示的是结束下标,第二个参数可......
  • CUBE MX ADC多通道DMA传输只有数组第一位获得数据问题
    出现问题现象如下,ADC取值数组只有第一位得到了数据  经多次反复检查,发现CUBE配置是没问题的,于是检查了一下生成的代码,发现DMA初始化函数在自动生成时被放在了ADC初始......
  • JavaScript 数组
    数组是一组数据的集合,其中每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将数据存储在单个变量名下的优雅方式。数组中可存放任意类型:字符串、数字、布尔......
  • 代码随想录day6 | 242. 有效的字母异位词 349.两个数组的交集 202.快乐数1.两数之和
    242.有效的字母异位词题目|文章1.哈希思路字母的异位词意味着两个词中字符的种类和次数都相等。因为只有26个字符,所以我们可以通过数组实现一个26位的哈希表。先记录一......
  • javascript数组的reduce()与reduceRight()方法
    javascript数组的reduce()与reduceRight()方法reduce()方法按照数组元素的先后顺序,分别对数组元素执行一次由程序员提供的回调函数(这个回调函数被称作reducer函数);每一......