力扣每日一题-2-35.搜索插入位置

2022.2.17今天你刷题了吗?


题目

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

请必须使用时间复杂度为 O(log n) 的算法。

分析

在一个顺序数组中,我们需要判断一个给定的值在数组中的大小顺序,然后返回这个顺序的值,也就是在数组中的下标。

解析

我打算遍历该数组,每次遍历的同时判断给定值和当前数组中值的大小,比它小则继续遍历,一直遍历到比它大。或者和它相等两种情况。

相等:返回相等值的索引

比它大:返回大值前一个下标索引

class Solution {
public:
    int searchInsert(vector& nums, int target) {
        int site = 0;
        for (auto it = nums.begin(); it != nums.end(); it++)
        {
            if ((*it) >= target)
            {
                break;
            }
            else
            {
                site++;
            }
        }
        return site;
    }

};

你可能感兴趣的:(力扣,leetcode,排序算法,算法)