leetcode——搜尋插入位置
阿新 • • 發佈:2021-02-12
技術標籤: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();
}
};
收穫:
學會如何設計時間複雜度更低的演算法