每日刷題 3.17

南辞几经秋發表於2024-04-01

一.題目

給定一個排序陣列和一個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。

示例 1:

輸入: nums = [1,3,5,6], target = 5

輸出: 2

示例 2:

輸入: nums = [1,3,5,6], target = 2

輸出: 1

二.思路分析

1.採用暴力演算法,如果陣列中的值大於或者等於target,直接return。

2.採用二分法,加快時間和數值可以變大。

三.程式碼

#include<iostream>
#include<vector>
using namespace std;
class Solution 
{
public:
    int searchInsert(vector<int>& nums, int target) 
    {
        for(int i = 0; i < nums.size(); i++)
        {
            if(nums[i] >= target)
                return i;
        }
        return nums.size();
    }
};