Insertar posición

tema:

Dada una matriz ordenada y un valor objetivo, busque el valor objetivo en la matriz y devuelva su índice. Si el valor objetivo no existe en la matriz, devuelva la posición donde se insertará en orden.

Puede suponer que no hay elementos duplicados en la matriz.

Ejemplo 1:
Análisis:
Podemos realizar búsquedas binarias de forma circular.
Inserte la descripción de la imagen aquí
P.ej
Inserte la descripción de la imagen aquí

Código:

class Solution {
    
    
    public int searchInsert(int[] nums, int target) {
    
    
    
        int index=-1;
        int begin=0;
        int end = nums.length-1;

        while(index==-1){
    
    
            int mid=(begin+end)/2;
            if(target==nums[mid]){
    
    
                index= mid;
            }
          else  if(target<nums[mid]){
    
    
           if(mid==0 || target>nums[mid-1]){
    
    
                 index= mid;       
            }
             end=mid-1;
          }
          else  if(target>nums[mid] ){
    
    
           if(mid==end || target<nums[mid+1]){
    
    
                index= mid+1;
            }
            begin=mid+1;
        }   
    }
    return index;
    }
}

Fuente: LeetCode
Enlace: https://leetcode-cn.com/problems/search-insert-position Los
derechos de autor son propiedad de LeetCode . Para reimpresiones comerciales, comuníquese con la autorización oficial. Para reimpresiones no comerciales, indique la fuente.

Supongo que te gusta

Origin blog.csdn.net/weixin_42120561/article/details/114412389
Recomendado
Clasificación