栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

leetcode(十二)搜索插入位置

Java 更新时间:发布时间: 百科书网 趣学号

方法一:递归版二分查找

class Solution {
public:
    int searchInsert(vector& nums, int target) {

        int left = 0;
        int right = nums.size()-1;
        return splitFind(nums,left,right,target);
        

    }
    int splitFind(vector& nums,int left,int right,int target)
    {
        int mid = (left+right)/2;
        if(nums[mid]==target)
            return mid;
        if(left>right)
            return left;
        if(nums[mid]>target)
            return splitFind(nums,left,mid-1,target);
        else(nums[mid] 

方法二:

非递归二分查找。

class Solution {
public:
    int searchInsert(vector& nums, int target) {

        int left = 0;
        int right = nums.size()-1;
        int mid = 0;
        while(left<=right)
        {
            mid = (left+right)/2;
            if(nums[mid]==target)
                return mid;
            else if(nums[mid]>target)
                right = mid-1;
            else
                left = mid+1;

        }
        return left;
        

    }

};

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/276434.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号