1. 程式人生 > 其它 >leetcode——搜尋插入位置

leetcode——搜尋插入位置

技術標籤:Leetcode

題目:對於一個排序好的非遞減陣列,查詢指定值,如果有返回下標,沒有返回應該插入的位置

思路:
1.處理小於陣列第一個數的情況,返回0
2.處理大於陣列最後一個的情況,返回nums.size()+1
3.對普通情況進行一邊查詢,一邊查詢下一個元素比目標值大的位置

演算法複雜度:O(n)

程式碼:

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        if(target<nums[0])
            return
0; if(target>nums[nums.size()-1]) return nums.size(); for(int i=0;i<nums.size();i++) if(nums[i]>=target) return i; return nums.size(); } };

收穫:
學會如何設計時間複雜度更低的演算法
在這裡插入圖片描述