zoukankan      html  css  js  c++  java
  • 35. 搜索插入位置(二分查找易错总结)

    题目

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
    你可以假设数组中无重复元素。

    示例 1:
    输入: [1,3,5,6], 5
    输出: 2

    示例 2:
    输入: [1,3,5,6], 2
    输出: 1

    示例 3:
    输入: [1,3,5,6], 7
    输出: 4

    示例 4:
    输入: [1,3,5,6], 0
    输出: 0

    题解

    // 用二分查找法,找不到的返回left的值即为插入的位置。
    class Solution {
    public:
        int searchInsert(vector<int>& nums, int target) {
            int l = nums.size();
            int left=0,right=l-1;
            int mid = 0;
            while(left<=right)
            {
                mid = (left + right)/2;
                if(nums[mid] == target) return mid;
                if(nums[mid] > target) right = mid-1;
                if(nums[mid] < target) left = mid+1;
            }
             return left;
        }
    };
    

    链接

    题目
    题解

    易错总结


  • 相关阅读:
    逆波兰表达式解数学运算(c#)
    杂文
    WebDriverExtensionsByC#
    cookie使用
    Discuz
    重构中学习
    生活知识
    js和 jquery对象
    jquery中is的用法
    html下select追加元素,IE下错误
  • 原文地址:https://www.cnblogs.com/jiashun/p/LeetCode_35.html
Copyright © 2011-2022 走看看