zoukankan      html  css  js  c++  java
  • [leetCode]35. 搜索插入位置

    在这里插入图片描述

    解法 二分查找

    因为这题输入的是有序数组,需要查找target的插入位置,因此马上可以想到二分查找算法。
    在这里插入图片描述
    如上图所示如果查找到了target则返回mid,如果为查询到则返回lo或者hi+1。代码如下:

    class Solution {
        public int searchInsert(int[] nums, int target) {
            return rank(nums,target);
        }
    
        public int rank(int[] nums,int target){
            int lo = 0;
            int hi = nums.length - 1;
            while(lo <= hi){
                int mid = lo + (hi - lo)/2;
                if(target > nums[mid]){
                    lo = mid + 1;
                }else if(target < nums[mid]){
                    hi = mid - 1;
                }else{
                    return mid;
                }
            }
            return lo;//或者返回hi+1
        }
    }
    
  • 相关阅读:
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
  • 原文地址:https://www.cnblogs.com/PythonFCG/p/13860025.html
Copyright © 2011-2022 走看看